TH1/MD/CrashSight_2026-06-04_0.7.2c_1day/blocking/005_announce-major-event-null.md
2026-06-04 17:31:21 +08:00

5.6 KiB
Raw Blame History

重大事件公告 UI 空引用

  • 分类blocking
  • Issue 数1
  • 0.7.2c 最近一天次数1
  • 设备数合计1
  • 报告生成2026-06-04 14:58:32

Issue

Issue 类型 次数 设备 最近上报 消息
f5e2775f98f29836622f7f514a5a059d UnityLogError 1 1 2026-06-03 15:10:19 EventManager Publish listener failed: System.NullReferenceException: Object reference not set to an instance of an object. at TH1_UI.View.Announce.UIAnnounceMajorEventView.ewb (TH1_Core.Events.UIAnnounceMajorEventType a, System.Int32 b, System.Int32 c) [0x00000] in <00000000000000000000000000000000>:0 at era.bvr () [0x00000] in <00…

设备上下文

f5e2775f98f29836622f7f514a5a059d

  • 样本 CrashId0b44d9c1be1a4ff9bd41cea02d1bf2ff
  • 样本 DeviceIda0-36-bc-64-85-f2
  • CrashSight 附带日志文件:False

最终上报内容:

UnityLogError
EventManager Publish<ShowUIAnnounceMajorEvent> listener failed: System.NullReferenceException: Object reference not set to an instance of an object.
  at TH1_UI.View.Announce.UIAnnounceMajorEventView.ewb (TH1_Core.Events.UIAnnounceMajorEventType a, System.Int32 b, System.Int32 c) [0x00000] in <00000000000000000000000000000000>:0 
  at era.bvr () [0x00000] in <00000000000000000000000000000000>:0 
  at eqy`1[c].fab () [0x00000] in <00000000000000000000000000000000>:0 
  at eqy`1[c].ezp () [0x00000] in <00000000000000000000000000000000>:0 
  at eri.fvd (System.Action a) [0x00000] in <00000000000000000000000000000000>:0 
  at erl.fcy () [0x00000] in <00000000000000000000000000000000>:0 
  at erl.cug (erh a, System.Boolean b) [0x00000] in <00000000000000000000000000000000>:0 
  at ern.fdq (TH1_Core.Events.ShowUIAnnounceMajorEvent a) [0x00000] in <00000000000000000000000000000000>:0 
  at erk.fcv[c] (c a) [0x00000] in <00000000000000000000000000000000>:0 
  at TH1_Logic.Core.Main+<>c.mmz () [0x00000] in <00000000000000000000000000000000>:0 
  at i.oj () [0x00000] in <00000000000000000000000000000000>:0 
  at TH1_Logic.Core.Main.Update () [0x00000] in <00000000000000000000000000000000>:0 
UnityEngine.Debug.LogError(Object)
hk.LogError(String, Object)
erk.fcv(c)
TH1_Logic.Core.<>c.mmz()
i.oj()
TH1_Logic.Core.Main.Update()

UnityEngine.Debug.LogError(Object)
hk.LogError(String, Object)
erk.fcv(c)
TH1_Logic.Core.<>c.mmz()
i.oj()
TH1_Logic.Core.Main.Update()

UnityEngine.Debug.LogError(Object)
hk.LogError(String, Object)
erk.fcv(c)
TH1_Logic.Core.<>c.mmz()
i.oj()
TH1_Logic.Core.Main.Update()

UnityLogError
EventManager Publish<ShowUIAnnounceMajorEvent> listener failed: System.NullReferenceException: Object reference not set to an instance of an object.
  at TH1_UI.View.Announce.UIAnnounceMajorEventView.ewb (TH1_Core.Events.UIAnnounceMajorEventType a, System.Int32 b, System.Int32 c) [0x00000] in <00000000000000000000000000000000>:0 
  at era.bvr () [0x00000] in <00000000000000000000000000000000>:0 
  at eqy`1[c].fab () [0x00000] in <00000000000000000000000000000000>:0 
  at eqy`1[c].ezp () [0x00000] in <00000000000000000000000
...

同设备最近 ERROR 上报序列:

时间 Issue 类型 消息
2026-06-04 14:05:38 9b415b4bbb546c66eba3a6b67f916d35
2026-06-04 14:05:36 10d4df507992c1a66a90693df20b21c3
2026-06-03 22:50:10 01eaa6aefd9162eccc930c2450a63779
2026-06-03 22:04:15 10d4df507992c1a66a90693df20b21c3
2026-06-03 21:53:20 9b415b4bbb546c66eba3a6b67f916d35
2026-06-03 21:53:19 10d4df507992c1a66a90693df20b21c3
2026-06-03 21:50:04 01eaa6aefd9162eccc930c2450a63779
2026-06-03 21:19:26 c7cbea703f42ecf6f54444f481fe7465

代码位置

  • Unity/Assets/Scripts\TH1_UI\View\Announce\UIAnnounceMajorEventView.cs:16: public class UIAnnounceMajorEventView : Base.View
  • Unity/Assets/Scripts\TH1_UI\View\Announce\UIAnnounceMajorEventView.cs:63: LogSystem.LogError("UIAnnounceMajorEventView.SetContent(): Title or Content or Image or Image is null");
  • Unity/Assets/Scripts\TH1_UI\Controller\Announce\UIAnnounceMajorEventController.cs:15: public class UIAnnounceMajorEventController : ViewController<UIAnnounceMajorEventView>, IEscClosable // 泛型参数是对应的View脚本

解码结论

  • 解码堆栈:UIAnnounceMajorEventController.OnOpen() -> UIAnnounceMajorEventView.SetContent(...),由 EventManager.Publish<ShowUIAnnounceMajorEvent> 包装成 UnityLogError
  • 本日 1 次,仍属于开局/重大事件公告空引用族。可疑对象包括 Main.MapDataPlayerMap.SelfPlayerDataPlayerInfoUICenterMessageInfo 配置,以及 Title/Content/Image prefab 引用。
  • 同设备相邻 ERROR 有多条网络发送/大厅诊断,说明可能发生在多人开局或恢复流程的 UI/Presentation 初始化阶段。建议 SetContent 在每个事件分支记录 eventType/param1/param2 并逐项 guardStartGame/FirstMeet 这类公告要等 Main.MapData.PlayerMapSelfPlayerData.PlayerInfo 已完成初始化后再发布。

判断

这是阻断类,因为 CrashSight 行或 LogError 包装内容中存在真实异常类型、异常对象或调用栈;不是单纯业务状态诊断。 本批样本 hasLogFile=falseAPI 能拿到的是最终上报内容和同设备 ERROR 上报序列,不包含完整 Unity 运行日志;根因上下文按可见上报链路记录。

建议

优先按次数最高的 Issue 样本复现并修复;若同设备上报序列中出现更早的异常,应以更早异常作为源头处理。