3.7.4 升级3.8.4后 spine 递归调用导致栈溢出

Creator 版本:3.8.4

  • 目标平台: 微信小游戏-Android

  • 重现方式:游戏主界面挂机30分钟到60分钟

  • 首个报错:
    RangeError:Maximum call stack size exceededat wasm://wasm/00157936:wasm-function[107l:0x41acat wasm://wasm/00157936:wasmfunction[1072]:0x39bfaat wasm://wasm/00157936:wasmfunction[402]:0x11a80at wasm://wasm/00157936:wasmfunction[402l:0x1174aat wasm://wasm/00157936:wasmfunction[402]:0x1174aat wasm://wasm/00157936:wasm-function402l:0x1174aat wasm://wasm/00157936:wasmfunction[402]:0x1174aat wasm://wasm/00157936:wasmfunctionl402】:0x1174aat wasm://wasm/00157936:wasmfunction[402l:0x1174aat wasm://wasm/00157936:wasmfunetion[402l:0x1174a

  • 之前哪个版本是正常的: 3.7.4

  • 手机型号: 华为P20,其他手机也会出现

  • 重现概率: 必现

是否有可复现demo, 升级的时候是否有清除缓存;例如:在ide上,开发者->缓存->清除代码缓存然后重试

demo没有,都是成熟游戏,想着升级下引擎,缓存啥的都是清干净了,测试场景中有6个英雄在不断的释放技能

其实顺着递归调用的思路去查找,应该能发现问题的,报错信息都贴出来了

我之前sp.ske组件,一段时间重置绑定新的spineData,次数多也是报错。
然后就改成,每次新建一个node,添加sp.ske,再去绑定spineData,用完销毁node,不断循环新建

我在3.7.4的倒是没有出现过,就升级后,挂个机很容易就出现了

是不是用了完成回调,然后回调里设置轨道之类的

有完成回调,来切换动画,用的setAnimation

这应该是个bug,官方的bug :rofl:

没人说怎么解决吗 :sweat_smile:

3.8.4这里报的错 就是很傻的一个循环获取方式 问题怎么解决 有人回答吗

问题找到了 动态加载就会出现这个问题 改成编辑器去加载就不会