11 KiB
11 KiB
空引用异常
- 分类:blocking
- Issue 数:4
0.7.3f最近一天次数:12- 设备数合计:11
- 报告生成:2026-06-12 15:50:49
Issue
| Issue | 类型 | 次数 | 设备 | 最近上报 | 消息 |
|---|---|---|---|---|---|
| dc1340f866d020b4b560a92559c89a21 | NullReferenceException | 5 | 4 | 2026-06-12 15:31:20 | Object reference not set to an instance of an object. |
| 0b41041d271c3ca1128d6f10e46b27b2 | NullReferenceException | 3 | 3 | 2026-06-12 15:31:04 | Object reference not set to an instance of an object. |
| be8ba33741c7c959e4bff388decf5877 | NullReferenceException | 3 | 3 | 2026-06-12 15:14:07 | Object reference not set to an instance of an object. |
| 0c808432af82e7b66883205719dbb199 | NullReferenceException | 1 | 1 | 2026-06-12 12:42:42 | Object reference not set to an instance of an object. |
设备上下文
dc1340f866d020b4b560a92559c89a21
- 样本 CrashId:
d034b91bdf6d4bd38179a5468c277dd4 - 样本 DeviceId:
00-ff-fb-5d-e8-e7 - CrashSight 附带日志文件:
False
最终上报内容:
NullReferenceException
Object reference not set to an instance of an object.
TMPro.TMP_SubMeshUI.UpdateMaterial () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.SetMaterialDirty () (at <00000000000000000000000000000000>.0)
UnityEngine.UI.MaskableGraphic.OnDisable () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.OnDisable () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.UpdateMaterial () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.SetMaterialDirty () (at <00000000000000000000000000000000>.0)
UnityEngine.UI.MaskableGraphic.OnDisable () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.OnDisable () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.UpdateMaterial () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.SetMaterialDirty () (at <00000000000000000000000000000000>.0)
UnityEngine.UI.MaskableGraphic.OnDisable () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.OnDisable () (at <00000000000000000000000000000000>.0)
NullReferenceException
Object reference not set to an instance of an object.
TMPro.TMP_SubMeshUI.UpdateMaterial () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.SetMaterialDirty () (at <00000000000000000000000000000000>.0)
UnityEngine.UI.MaskableGraphic.OnDisable () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.OnDisable () (at <00000000000000000000000000000000>.0)
同设备最近 ERROR 上报序列:
| 时间 | Issue | 类型 | 消息 |
|---|---|---|---|
| 2026-06-12 15:38:25 | 115622af2c5f78d14b4e6b900ba1d151 | ||
| 2026-06-12 15:38:25 | 12dcc82a69446ab0f1cb4caf44b0579a | ||
| 2026-06-12 15:38:24 | ed493d4b6926c3bb5efe569a5db211e3 | ||
| 2026-06-12 15:38:24 | 5506094b5e9df26bc4d5fd90349178cb | ||
| 2026-06-12 15:38:24 | b36fb8882dd4aabcf8618737d0ec5a65 | ||
| 2026-06-12 15:31:20 | dc1340f866d020b4b560a92559c89a21 | ||
| 2026-06-12 15:31:20 | 5bf29273f5c83382e8a559c3a51c64b1 | ||
| 2026-06-12 15:31:04 | dc1340f866d020b4b560a92559c89a21 |
0b41041d271c3ca1128d6f10e46b27b2
- 样本 CrashId:
5ad98ebcb8f44bc39580417051d745bb - 样本 DeviceId:
00-ff-fb-5d-e8-e7 - CrashSight 附带日志文件:
False
最终上报内容:
NullReferenceException
Object reference not set to an instance of an object.
TMPro.TMP_SubMeshUI.UpdateMaterial () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.SetMaterialDirty () (at <00000000000000000000000000000000>.0)
UnityEngine.UI.MaskUtilities.NotifyStencilStateChanged (UnityEngine.Component mask) (at <00000000000000000000000000000000>.0)
UnityEngine.UI.MaskableGraphic.OnDisable () (at <00000000000000000000000000000000>.0)
UnityEngine.UI.Image.OnDisable () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.UpdateMaterial () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.SetMaterialDirty () (at <00000000000000000000000000000000>.0)
UnityEngine.UI.MaskUtilities.NotifyStencilStateChanged (UnityEngine.Component mask) (at <00000000000000000000000000000000>.0)
UnityEngine.UI.MaskableGraphic.OnDisable () (at <00000000000000000000000000000000>.0)
UnityEngine.UI.Image.OnDisable () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.UpdateMaterial () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.SetMaterialDirty () (at <00000000000000000000000000000000>.0)
UnityEngine.UI.MaskUtilities.NotifyStencilStateChanged (UnityEngine.Component mask) (at <00000000000000000000000000000000>.0)
UnityEngine.UI.MaskableGraphic.OnDisable () (at <00000000000000000000000000000000>.0)
UnityEngine.UI.Image.OnDisable () (at <00000000000000000000000000000000>.0)
NullReferenceException
Object reference not set to an instance of an object.
TMPro.TMP_SubMeshUI.UpdateMaterial () (at <00000000000000000000000000000000>.0)
TMPro.TMP_SubMeshUI.SetMaterialDirty () (at <00000000000000000000000000000000>.0)
UnityEngine.UI.MaskUtilities.NotifyStencilStateChanged (UnityEngine.Component mask) (at <00000000000000000000000000000000>.0)
UnityEngine.UI.MaskableGraphic.OnDisable () (at <00000000000000000000000000000000>.0)
UnityEngine.UI.Image.OnDisable () (at <00000000000000000000000000000000>.0)
同设备最近 ERROR 上报序列:
| 时间 | Issue | 类型 | 消息 |
|---|---|---|---|
| 2026-06-12 15:38:25 | 115622af2c5f78d14b4e6b900ba1d151 | ||
| 2026-06-12 15:38:25 | 12dcc82a69446ab0f1cb4caf44b0579a | ||
| 2026-06-12 15:38:24 | ed493d4b6926c3bb5efe569a5db211e3 | ||
| 2026-06-12 15:38:24 | 5506094b5e9df26bc4d5fd90349178cb | ||
| 2026-06-12 15:38:24 | b36fb8882dd4aabcf8618737d0ec5a65 | ||
| 2026-06-12 15:31:20 | dc1340f866d020b4b560a92559c89a21 | ||
| 2026-06-12 15:31:20 | 5bf29273f5c83382e8a559c3a51c64b1 | ||
| 2026-06-12 15:31:04 | dc1340f866d020b4b560a92559c89a21 |
be8ba33741c7c959e4bff388decf5877
- 样本 CrashId:
7cc68a71c55b4abbab7c7cdb370d6a46 - 样本 DeviceId:
d4-93-90-2e-72-b4 - CrashSight 附带日志文件:
False
最终上报内容:
NullReferenceException
Object reference not set to an instance of an object.
Animancer.AnimancerState.get_NormalizedTime () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerState.set_Time (System.Single value) (at <00000000000000000000000000000000>.0)
Animancer.AnimancerState.Stop () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerLayer.Stop () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerComponent.Stop () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerComponent.OnDisable () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerState.get_NormalizedTime () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerState.set_Time (System.Single value) (at <00000000000000000000000000000000>.0)
Animancer.AnimancerState.Stop () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerLayer.Stop () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerComponent.Stop () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerComponent.OnDisable () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerState.get_NormalizedTime () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerState.set_Time (System.Single value) (at <00000000000000000000000000000000>.0)
Animancer.AnimancerState.Stop () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerLayer.Stop () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerComponent.Stop () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerComponent.OnDisable () (at <00000000000000000000000000000000>.0)
NullReferenceException
Object reference not set to an instance of an object.
Animancer.AnimancerState.get_NormalizedTime () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerState.set_Time (System.Single value) (at <00000000000000000000000000000000>.0)
Animancer.AnimancerState.Stop () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerLayer.Stop () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerComponent.Stop () (at <00000000000000000000000000000000>.0)
Animancer.AnimancerComponent.OnDisable () (at <00000000000000000000000000000000>.0)
同设备最近 ERROR 上报序列:
| 时间 | Issue | 类型 | 消息 |
|---|---|---|---|
| 2026-06-12 15:14:07 | be8ba33741c7c959e4bff388decf5877 | ||
| 2026-06-12 15:14:06 | 5bf29273f5c83382e8a559c3a51c64b1 | ||
| 2026-06-12 15:10:32 | 03e368c38bf498c0ede3d3d6b1a4ba9 | ||
| 2026-06-12 15:05:27 | 3b1873b47fcdc15a0284798ea83be004 | ||
| 2026-06-12 15:05:26 | 5bf29273f5c83382e8a559c3a51c64b1 | ||
| 2026-06-12 14:23:04 | 3b1873b47fcdc15a0284798ea83be004 | ||
| 2026-06-12 14:05:08 | 03e368c38bf498c0ede3d3d6b1a4ba9 | ||
| 2026-06-12 13:57:01 | 5bf29273f5c83382e8a559c3a51c64b1 |
代码位置
- 未通过固定文本直接定位;需要结合解码栈继续追。
解码结论
反混淆命中 0,这些栈不是业务混淆名,而是 Unity/TMP/Animancer 的明文运行时栈。这个报告里的 4 个 Issue 不能当成同一个根因处理:
dc1340f866d020b4b560a92559c89a21、0b41041d271c3ca1128d6f10e46b27b2、0c808432af82e7b66883205719dbb199:共同栈顶是TMPro.TMP_SubMeshUI.UpdateMaterial -> SetMaterialDirty -> MaskableGraphic/Image.OnDisable,说明崩在 UI 对象禁用/销毁期间,TMP 子网格刷新材质时内部对象为空。0c808...同设备同一秒还出现多语言资源加载为空,说明这条至少和 UI 销毁/重建、多语言文本刷新处在同一批操作里;但样本没有完整 Player.log,不能证明多语言 null 是 TMP NRE 的直接原因。be8ba33741c7c959e4bff388decf5877:共同栈顶是AnimancerState.get_NormalizedTime -> Stop -> AnimancerComponent.OnDisable,和 TMP 无关;这是动画组件禁用时Stop()过程中空引用,仍然更像 UI/GameObject disable 触发的第三方组件生命周期问题。
因此建议拆成两个修复方向:一是排查含 TMP 子网格的 UI 销毁/禁用流程,尤其是同设备伴随多语言加载失败的页面;二是单独排查带 Animancer 的对象在禁用时是否有空 Clip/State 或销毁顺序问题。
判断
这是阻断类,因为 CrashSight 行或 LogError 包装内容中存在真实异常类型、异常对象或调用栈;不是单纯业务状态诊断。
本批样本 hasLogFile=false,API 能拿到的是最终上报内容和同设备 ERROR 上报序列,不包含完整 Unity 运行日志;根因上下文按可见上报链路记录。
建议
优先按次数最高的 Issue 样本复现并修复;若同设备上报序列中出现更早的异常,应以更早异常作为源头处理。