2.3.3 win32模拟器 运行久了会触发OOM 导致崩溃

  • Creator 版本:2.3.3

  • 目标平台: win32 模拟器

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :2.1.2 2.3.3Android 及WEB

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:

  • 额外线索:

Android级Web都正常,唯独win32模拟器有问题,Crash在 ‘v8:ArrayBuffer::New‘方法,但是 ‘is heap out of memroy:false’ 提示的是false ,说明并没有溢出,但又触发了这个报错。

跟踪web发现ArrayBuffer数量额外多,多是资源引用。

看看大家有没有类似的问题,能帮忙提供一下线索
个人猜测
1.觉得会不会是v8版本的问题
2.项目中用到ArrayBuffer:new只有Websocket,会不会Websocket问题
3.也有可能是我们项目本身逻辑内存泄露的原因

我们在Android平台测试过一次,Bugly线上这种报错也出现过8次,游戏运行时间超过4小时。(就出现比例看,在Android平台影响并不大) 现在判断肯定是内存泄漏了,但是这个报错在之前的引擎版本却没有出现过。

1.针对这种JVM的内存泄露,可能我们游戏以前也是一直存在的,以前的引擎版本是不是有可能JVM允许的内存比较大,在现在引擎版本比较小,所以把问题暴露出来了

2.也有可能是引擎底层内存泄露

还有这种JVM的内存泄露,目前崩溃日志只跟到ArrayBuffer:new,而我们项目里用到ArrayBuffer:new只有Websocket,查了自己的用法感觉问题不大。

所以发贴寻求帮助,看看有没有新的解决思路

已解决。
ArrayBuffer上涨情况只会在Web出现,Native不会

Native出现OOM原因是 GL OOM,测试的电脑显存较低,短时间加载巨量资源导致GL OOM

1赞

谢谢大神分享经验