这里的Event指针不是从PipelineEvents这个Map里取的么,这个Map看起来是跨线程的。不过确实很神奇,这里各种读写锁的操作看起来没问题,并且这一段代码很底层了如果有问题那早出大问题了。但就是这个智能指针在析构时crash了。
补充一些已知信息是:
1.这个问题应该很难简单工程复现,进测试场景没出现过,只有进目前最复杂的大地图关卡概率变高(20%左右偶现)
2.基本确定是PSOPrecache整套功能开启后出现的,并且经过了1-2周验证只要r.PSOPrecache.Resources=1就会有问题,把这个从Resource开始编译PSO关了就没出现Crash了。
3.仅在IOS上出现,Android没出现过。