axmolengine / axmol

Axmol Engine – A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A fork of Cocos2d-x-4.0)
https://axmol.dev
MIT License
929 stars 205 forks source link

org.axmol.lib.AxmolRenderer.nativeDeleteBackward触发调用到ax::backend::CommandBufferGL::drawElements崩溃的BUG #2242

Closed cxcxiaochuan closed 1 day ago

cxcxiaochuan commented 4 days ago

崩溃版本:axmol-2.1.2 崩溃手机:HUAWEI HWAMN-M (HUAWEI Y5 2019) 崩溃系统:Android 9 (SDK 28) 崩溃堆栈:

backtrace:
  #00  pc 0x000000000001e41e  /vendor/lib/egl/libGLESv2_mtk.so
  #01  pc 0x000000000001afb1  /vendor/lib/egl/libGLESv2_mtk.so
  #02  pc 0x000000000001a8f3  /vendor/lib/egl/libGLESv2_mtk.so (glDrawElements+90)
  #03  pc 0x000000000000a1bd  /system/lib/libGameGraphicsOpt.so (hw_glDrawElementsHookV1+4)
  #04  pc 0x000000000064f673  /data/app/******==/split_config.armeabi_v7a.apk (ax::backend::CommandBufferGL::drawElements(ax::backend::PrimitiveType, ax::backend::IndexFormat, unsigned int, unsigned int, bool)+102)
  #05  pc 0x00000000006397c1  /data/app/******==/split_config.armeabi_v7a.apk (ax::Renderer::drawCustomCommand(ax::RenderCommand*)+264)
  #06  pc 0x000000000063904d  /data/app/******==/split_config.armeabi_v7a.apk (ax::Renderer::visitRenderQueue(ax::RenderQueue&)+270)
  #07  pc 0x00000000006398bf  /data/app/******==/split_config.armeabi_v7a.apk (ax::Renderer::render()+56)
  #08  pc 0x00000000005fadd7  /data/app/******==/split_config.armeabi_v7a.apk (ax::Scene::render(ax::Renderer*, ax::Mat4 const&, ax::Mat4 const*)+266)
  #09  pc 0x0000000000664035  /data/app/******==/split_config.armeabi_v7a.apk (ax::Director::drawScene()+380)
  #10  pc 0x0000000000665b0b  /data/app/******==/split_config.armeabi_v7a.apk (ax::Director::mainLoop()+74)
  #11  pc 0x0000000000094a67  /data/app/******==/oat/arm/base.odex (org.axmol.lib.AxmolRenderer.nativeDeleteBackward [DEDUPED]+94)
  #12  pc 0x0000000000137887  /data/app/******==/oat/arm/base.odex (org.axmol.lib.AxmolRenderer.onDrawFrame+150)
  #13  pc 0x00000000009d8249  /system/framework/arm/boot-framework.oat (android.opengl.GLSurfaceView$GLThread.guardedRun+3040)
  #14  pc 0x00000000009d908d  /system/framework/arm/boot-framework.oat (android.opengl.GLSurfaceView$GLThread.run+180)
  #15  pc 0x0000000000420f75  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
  #16  pc 0x00000000003fa349  /system/lib/libart.so (art_quick_invoke_stub+224)
  #17  pc 0x00000000000a4709  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
  #18  pc 0x0000000000357e9d  /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
  #19  pc 0x0000000000358bf5  /system/lib/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+320)
  #20  pc 0x000000000037a123  /system/lib/libart.so (art::Thread::CreateCallback(void*)+866)
  #21  pc 0x0000000000064975  /system/lib/libc.so (__pthread_start(void*)+22)
  #22  pc 0x000000000001e875  /system/lib/libc.so (__start_thread+24)

崩溃版本:axmol-2.1.2 崩溃手机:Realme RMX1941 (realme C2) 崩溃系统:Android 9 (SDK 28) 崩溃堆栈:

backtrace:
  #00  pc 0x000000000002a090  /vendor/lib64/egl/libGLESv2_mtk.so
  #01  pc 0x0000000000026078  /vendor/lib64/egl/libGLESv2_mtk.so
  #02  pc 0x0000000000025824  /vendor/lib64/egl/libGLESv2_mtk.so (glDrawElements+140)
  #03  pc 0x0000000000919624  /data/app/******==/split_config.arm64_v8a.apk (ax::backend::CommandBufferGL::drawElements(ax::backend::PrimitiveType, ax::backend::IndexFormat, unsigned long, unsigned long, bool)+176)
  #04  pc 0x00000000008fb484  /data/app/******==/split_config.arm64_v8a.apk (ax::Renderer::drawCustomCommand(ax::RenderCommand*)+372)
  #05  pc 0x00000000008faad4  /data/app/******==/split_config.arm64_v8a.apk (ax::Renderer::visitRenderQueue(ax::RenderQueue&)+368)
  #06  pc 0x00000000008fa818  /data/app/******==/split_config.arm64_v8a.apk (ax::Renderer::processGroupCommand(ax::GroupCommand*)+224)
  #07  pc 0x00000000008fac98  /data/app/******==/split_config.arm64_v8a.apk (ax::Renderer::processRenderCommand(ax::RenderCommand*)+128)
  #08  pc 0x00000000008faad4  /data/app/******==/split_config.arm64_v8a.apk (ax::Renderer::visitRenderQueue(ax::RenderQueue&)+368)
  #09  pc 0x00000000008fb600  /data/app/******==/split_config.arm64_v8a.apk (ax::Renderer::render()+84)
  #10  pc 0x00000000008a5bec  /data/app/******==/split_config.arm64_v8a.apk (ax::Scene::render(ax::Renderer*, ax::Mat4 const&, ax::Mat4 const*)+248)
  #11  pc 0x0000000000935ec4  /data/app/******==/split_config.arm64_v8a.apk (ax::Director::drawScene()+372)
  #12  pc 0x0000000000938248  /data/app/******==/split_config.arm64_v8a.apk (ax::Director::mainLoop()+124)
  #13  pc 0x0000000000059f70  /data/app/******==/oat/arm64/base.odex (org.axmol.lib.AxmolRenderer.nativeDeleteBackward [DEDUPED]+144)
  #14  pc 0x00000000000afcd0  /data/app/******==/oat/arm64/base.odex (org.axmol.lib.AxmolRenderer.onDrawFrame+128)
  #15  pc 0x0000000000a8e950  /system/framework/arm64/boot-framework.oat (android.opengl.GLSurfaceView$GLThread.guardedRun+4000)
  #16  pc 0x0000000000a8fa10  /system/framework/arm64/boot-framework.oat (android.opengl.GLSurfaceView$GLThread.run+224)
  #17  pc 0x0000000000562f88  /system/lib64/libart.so (art_quick_invoke_stub+584)
  #18  pc 0x00000000000d0340  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
  #19  pc 0x00000000004668e0  /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
  #20  pc 0x00000000004679a8  /system/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+424)
  #21  pc 0x0000000000494a38  /system/lib64/libart.so (art::Thread::CreateCallback(void*)+1120)
  #22  pc 0x0000000000084bd4  /system/lib64/libc.so (__pthread_start(void*)+36)
  #23  pc 0x000000000002344c  /system/lib64/libc.so (__start_thread+68)