Multithreading

排查HybridCLR引发的崩溃问题

更新 2025-08-17 2025-07-28 2024-01-16 问题 初步排查 进一步排查 在 hybridclr_trial 复现 在 mono 复现 解决方案 其他崩溃的情况(2025-07-28更新) 新解决方案(2025-08-17更新) 更新 2025-08-17 实现了一个规避方案:https://github.com/AlanLiu90/Hyb…

排查Unity游戏使用IL2CPP时的多线程代码导致崩溃的又一个问题

集成了HybridCLR DHE的版本上线后,看到了一些多线程代码的崩溃。排查之后,发现根本原因是il2cpp本身的bug,这里通过一个不集成HybridCLR DHE的工程,记录下排查的过程。 更新 2023-07-26 Unity QA已复现问题:https://issuetracker.unity3d.com/issues/and…

排查HybridCLR崩溃问题

问题 排查 调试符号 确定发生崩溃的行号 确定发生崩溃的指令 初步分析和修复 进一步分析 链接 问题 项目集成了HybridCLR DHE之后,在测试服测试过程中,从Unity Cloud Diagnostics看到了一些崩溃,主要都和泛型相关。其中占比最多的崩溃是: 0 libil2cpp.so …

排查Unity游戏使用IL2CPP时的多线程代码导致崩溃的问题

更新(2023-04-10) 问题 排查 查看IL2CPP代码 确定执行流程 构造复现工程 调试与分析 修复 链接 更新(2023-04-10) Unity 2020.3.47已修复该问题:IL2CPP: Fixed race condition when creating generic class metadata. 问题 游戏新版本上线后,在 Xcode O…

Unity客户端卡loading问题

更新 问题 排查 Unity源码分析 相关函数的基本逻辑示意 加载Mesh的流程 推论 验证 解释 另一个卡loading问题 相关代码示意 分析 验证 更新 新的分析 Unity的正式修复 更新 2025-04-23 Unity复现了本文中第二个问题: https://issuetracker.unity3d.com/issues…

AssetBundle打包的不确定性问题

问题 分析AssetBundle 分析Unity源码 其他 更新(2022-11-22) 链接 问题 项目开始使用Addressables后,测试AssetBundle的生成是否有不确定性问题时,发现一个只包含shader的AssetBundle发生了变化。 分析AssetBundle 使用Unity自带的工具 WebExtract 和 bin…

排查Unity中多线程创建常量字符串的问题

问题 分析过程 解决方案 链接 问题 内部测试时,在iPhone 11上发现以下报错: NullReferenceException: A null value was found where an object instance was required. Common.WeaponSkinManager.Init () ConsoleInitializer.Start () 该报错会导致后续发…

Unity游戏多线程反序列化json触发异常的问题

更新 2023-03-20 2022-11-30 问题 排查过程 Memory Barrier Acquire Semantic vs Release Semantic Thread.VolatileRead/Write vs Volatile.Read/Write 链接 更新 2023-03-20 Unity发布了com.unity.nuget.newtonsoft-json 3.1.0,对应Newtonsoft.Json 13.0.2…