2.2.2版本 MIUI12安卓11会崩溃

激活一些节点时会导致崩溃。

  • Creator 版本:2.2.2

  • 目标平台:安卓11,红米K30Pro MIUI12 安卓11 开发版本

  • 重现方式:新建helloworld 场景创建新的ScrollView。运行就会崩溃

  • 首个报错:

2020-09-18 19:02:07.133 14874-14874/? A/DEBUG: #00 pc 0000000000372ff4 /vendor/lib64/egl/libGLESv2_adreno.so (BuildId: 232bd10c6bce4d26db914bca68155678)
2020-09-18 19:02:07.133 14874-14874/? A/DEBUG: #01 pc 0000000000161400 /vendor/lib64/egl/libGLESv2_adreno.so (BuildId: 232bd10c6bce4d26db914bca68155678)
2020-09-18 19:02:07.133 14874-14874/? A/DEBUG: #02 pc 00000000000ebfe4 /vendor/lib64/egl/libGLESv2_adreno.so (BuildId: 232bd10c6bce4d26db914bca68155678)
2020-09-18 19:02:07.133 14874-14874/? A/DEBUG: #03 pc 0000000000259d58 /vendor/lib64/egl/libGLESv2_adreno.so (BuildId: 232bd10c6bce4d26db914bca68155678)
2020-09-18 19:02:07.133 14874-14874/? A/DEBUG: #04 pc 000000000025ced0 /vendor/lib64/egl/libGLESv2_adreno.so (BuildId: 232bd10c6bce4d26db914bca68155678)
2020-09-18 19:02:07.133 14874-14874/? A/DEBUG: #05 pc 0000000000244ad8 /vendor/lib64/egl/libGLESv2_adreno.so (BuildId: 232bd10c6bce4d26db914bca68155678)
2020-09-18 19:02:07.133 14874-14874/? A/DEBUG: #06 pc 000000000001e830 /system/lib64/libEGL.so (android::eglSwapBuffersWithDamageKHRImpl(void*, void*, int*, int)+608) (BuildId: 1c70b227093b4e3cee7ae825cf51cf3e)
2020-09-18 19:02:07.133 14874-14874/? A/DEBUG: #07 pc 000000000001b000 /system/lib64/libEGL.so (eglSwapBuffers+52) (BuildId: 1c70b227093b4e3cee7ae825cf51cf3e)
2020-09-18 19:02:07.133 14874-14874/? A/DEBUG: #08 pc 00000000000a7514 /system/lib64/libandroid_runtime.so (android::jni_eglSwapBuffers(_JNIEnv*, _jobject*, _jobject*, _jobject*)+104) (BuildId: 9058577600f9470e7decba06a7bb335c)
2020-09-18 19:02:07.133 14874-14874/? A/DEBUG: #09 pc 0000000000213b34 /system/framework/arm64/boot-framework.oat (art_jni_trampoline+180) (BuildId: 1717ff65c12447c0d6ea64161a5f20760d02c0c8)
2020-09-18 19:02:07.133 14874-14874/? A/DEBUG: #10 pc 0000000000133564 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #11 pc 00000000001a8a78 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #12 pc 000000000031830c /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #13 pc 000000000030e638 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+996) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #14 pc 000000000067cbe4 /apex/com.android.art/lib64/libart.so (MterpInvokeInterface+1032) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #15 pc 000000000012da14 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #16 pc 000000000037eb8c /system/framework/framework.jar (offset 0x92b000) (android.opengl.GLSurfaceView$EglHelper.swap+12)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #17 pc 0000000000305c34 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.4023174618862212076)+268) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #18 pc 0000000000669f1c /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+780) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #19 pc 000000000013cff8 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #20 pc 0000000000633410 /system/framework/arm64/boot-framework.oat (android.opengl.GLSurfaceView$GLThread.guardedRun+3808) (BuildId: 1717ff65c12447c0d6ea64161a5f20760d02c0c8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #21 pc 0000000000633b70 /system/framework/arm64/boot-framework.oat (android.opengl.GLSurfaceView$GLThread.run+224) (BuildId: 1717ff65c12447c0d6ea64161a5f20760d02c0c8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #22 pc 0000000000133564 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #23 pc 00000000001a8a78 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #24 pc 000000000055398c /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValuesart::ArtMethod*(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+460) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #25 pc 00000000005a2d28 /apex/com.android.art/lib64/libart.so (art::thread::CreateCallback(void*)+1308) (BuildId: 0312f3f468c23a7b0b89c50acd841ae8)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #26 pc 00000000000b00e8 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) (BuildId: a47514c8ba6a09d9f9f9e06161d2e4e1)
2020-09-18 19:02:07.134 14874-14874/? A/DEBUG: #27 pc 0000000000050408 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: a47514c8ba6a09d9f9f9e06161d2e4e1)
2020-09-18 19:02:07.270 14874-14874/? E/MIUINDBG: miui_native_debug_process_O

  • 之前哪个版本是正常的: Google 安卓模拟器 安卓11 可以正常运行
  • 手机型号: 红米K30Pro MIUI12 安卓11
  • 重现概率: 100%

初步定位问题在mask上面
stencil导致的崩溃。

目前增加一个camera只清除color 可以不崩溃

我也遇到了,小米10崩溃,一样的系统

我们这边暂时解决方案是 场景加载完毕加个Camera清空stencil。你可以试试。

let cam = new cc.Node(“CameraClearStencil”)
let c = cam.addComponent(cc.Camera)
cc.find(“Canvas”).addChild(cam)
cam.groupIndex = 1
c.clearFlags = cc.Camera.ClearFlags.DEPTH | cc.Camera.ClearFlags.STENCIL
c.depth = 10
c.cullingMask = 0

5赞

一样,同样的手机跟系统

几个月了 还是没修复 也没官方的回复 唉

这种必现问题 官方竟然都没一个统一的回复 几个月了 wbenlong 大佬提供的方案解决了问题

求官方解决方案

@wbenlong 您好我用了你的方法可行,但是我是在prefab上直接手动加一个camera才可以,为什么代码里怎么加你那段代码都不可行呢,在onload里加过,在切场景回调函数里加过,都不行

1赞

已经联系引擎团队,那边需要测试奔溃的代码,能否提供呢

已经联系引擎团队,那边需要测试奔溃的demo代码,能否提供呢

新建helloworld 场景创建新的ScrollView。运行就会崩溃

能给个简单代码吗,我这边提供给引擎团队,他们说需要

不需要代码的呀,
2.2.2版本 新建默认场景,然后新建一个默认的scrollview 保存后打包运行该场景就会崩溃呀。Mask关闭后就不会崩溃

这个奔溃是必奔溃吗,我在android11试了,不崩溃啊,

redmi k30pro必崩溃。
你这scrollview没有mask区域啊,创建UI/scrollview 不是手动加scroll view组件。

能否给一个必奔溃的工程给我,引擎云真机反馈没有复现,我也是直接在cavans下面加了一个scrollview

@wbenlong 等你回信

红米K30Pro 100%崩溃 其他机型没问题