3.8.3 崩溃一直找不到原因

  • Creator 版本:3.8.3

  • 目标平台: Android

  • 重现方式:没找到重现方式

  • 首个报错:pid: 0, tid: 8846 >>> com.xm.j.gg <<<

backtrace:
#00 pc 0x0000000000924ddc /data/app/-q41hSa9JtNab_Ii0fKn0w==/com.xm.j.gg-z0bnbNuACq94U7PmlotBfA==/split_config.arm64_v8a.apk!libcocos.so (cc::middleware::MiddlewareManager::update(float)+1204224) (BuildId: 2a1fe191980a4298bb394d3cc184ea116f557742)
#01 pc 0x0000000000ba3a4c /data/app/
-q41hSa9JtNab_Ii0fKn0w==/com.xm.j.gg-z0bnbNuACq94U7PmlotBfA==/split_config.arm64_v8a.apk!libcocos.so (js_cc_middleware_MiddlewareManager_update(se::State&)+1204224) (BuildId: 2a1fe191980a4298bb394d3cc184ea116f557742)
#02 pc 0x0000000000c75e00 /data/app/-q41hSa9JtNab_Ii0fKn0w==/com.xm.j.gg-z0bnbNuACq94U7PmlotBfA==/split_config.arm64_v8a.apk!libcocos.so (jsbFunctionWrapper(v8::FunctionCallbackInfov8::Value const&, bool ()(se::State&), char const)+1204224) (BuildId: 2a1fe191980a4298bb394d3cc184ea116f557742)
#03 pc 0x000000000000f824 /data/app/
-q41hSa9JtNab_Ii0fKn0w==/com.xm.j.gg-z0bnbNuACq94U7PmlotBfA==/split_config.arm64_v8a.apk

谷歌后台有大量的同类崩溃日志(影响用户量3%),研究了2个多星期都没有结论。甚至都没找到重现方式。
有大佬有解决方法么


1赞

什么版本的Android?

从谷歌后台看,各个版本的都有 image

看来大家都没遇到。。。。

spine的崩溃,在spine完成回调生成或销毁spine组件就有极小的概率触发。我之前3.8.2做的项目出现过这个崩溃,项目崩溃率也是3%左右。。

我是这么处理的,后面运营说崩溃率正常了,我就没理过了,你可以试试。

1赞

我用的是3.8.3版本,这个方法中并没有copied

这个是我自己声明的。

感谢感谢~ 等这周发包了再看看~ 非常感谢。

这行别看露了。

感谢感谢~ 看到了的

啥原理呢…?

不太清楚,我当时也是瞎改的。AI说可能会数组大小发生改变会触发崩溃,我就新建多个数组存起来。

这里的确有潜在的问题,因为 update 过程中,可能会触发用户回调函数,用户回调函数中可能会对 spine 组件进行 enable disable 的操作,最终 这个 _updateList 可能会在遍历过程中被改值,导致崩溃。

@song2008_2001 看看怎么修吧。

留下脚印,万一遇到

数组 就倒着遍历 删除就没问题 …哦 不是数组 当我没说

麻烦参考该PR的修改


跟我有点类似
不过我2.4.13 差异太大了。不太好合,很多接口跟新增变量。

版本发布一周,谷歌后台对应的崩溃已经没了