我们项目使用3.8.3打包Android发布到Google Play后,发现崩溃率超标,查看崩溃日志发现都和绘制有关。目前去掉vulkan之后,一台之前崩的机子 现在倒是不崩了,但是也不确定对线上大面积机型是否有效。请问这可能是什么原因造成的呢,有什么排查方向吗?发生崩溃的机子大部分是一些Android9和10的低端机型,以下是一些崩溃日志
pid: 0, tid: 15246 >>>xxxxxxxxxx <<<
backtrace:
#00 pc 0x0000000000051d88 /apex/com.android.runtime/lib/bionic/libc.so (__memcpy_a53+136)
#01 pc 0x000000000052c469 /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (void cc::gfx::doBufferTextureCopycc::gfx::Device(unsigned char const* const*, cc::gfx::Texture*, cc::gfx::BufferTextureCopy const*, unsigned int, cc::MessageQueue*, cc::gfx::Device*)+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
#02 pc 0x000000000052c387 /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (cc::gfx::DeviceAgent::copyBuffersToTexture(unsigned char const* const*, cc::gfx::Texture*, cc::gfx::BufferTextureCopy const*, unsigned int)+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
#03 pc 0x00000000006f3f27 /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (cc::SimpleTexture::assignImage(cc::ImageAsset*, unsigned int, unsigned int)+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
#04 pc 0x00000000006f47a5 /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (cc::Texture2D::setMipmapParams(std::__ndk1::vector<cc::IntrusivePtrcc::ImageAsset, std::__ndk1::allocator<cc::IntrusivePtrcc::ImageAsset>> const&)+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
#05 pc 0x00000000006f45f5 /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (cc::Texture2D::setMipmaps(std::__ndk1::vector<cc::IntrusivePtrcc::ImageAsset, std::__ndk1::allocator<cc::IntrusivePtrcc::ImageAsset>> const&)+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
#06 pc 0x00000000007f47e3 /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (js_cc_Texture2D_setMipmaps(se::State&)+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
#07 pc 0x00000000008ff185 /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (jsbFunctionWrapper(v8::FunctionCallbackInfov8::Value const&, bool ()(se::State&), char const)+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
#08 pc 0x000000000130347c /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (Builtins_CallApiCallbackGeneric+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
pid: 0, tid: 30126 >>>xxxxxxxxxx <<<
backtrace:
#00 pc 0x000000000008ded4 /vendor/lib/hw/vulkan.msm8937.so
#01 pc 0x0000000000087367 /vendor/lib/hw/vulkan.msm8937.so (qglinternal::vkCmdPipelineBarrier(VkCommandBuffer_T*, unsigned int, unsigned int, unsigned int, unsigned int, VkMemoryBarrier const*, unsigned int, VkBufferMemoryBarrier const*, unsigned int, VkImageMemoryBarrier const*)+108)
#02 pc 0x0000000000687b55 /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (cc::gfx::cmdFuncCCVKCopyBuffersToTexture(cc::gfx::CCVKDevice*, unsigned char const* const*, cc::gfx::CCVKGPUTexture*, cc::gfx::BufferTextureCopy const*, unsigned int, cc::gfx::CCVKGPUCommandBuffer const*)+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
#03 pc 0x000000000067cb8f /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (cc::gfx::CCVKDevice::copyBuffersToTexture(unsigned char const* const*, cc::gfx::Texture*, cc::gfx::BufferTextureCopy const*, unsigned int)+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
#04 pc 0x000000000052cceb /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (void cc::gfx::doBufferTextureCopycc::gfx::Device(unsigned char const* const*, cc::gfx::Texture*, cc::gfx::BufferTextureCopy const*, unsigned int, cc::MessageQueue*, cc::gfx::Device*)::DeviceCopyBuffersToTexture::execute()+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
#05 pc 0x000000000052d97b /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (cc::MessageQueue::consumerThreadLoop()+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
#06 pc 0x000000000052ecc7 /data/app/xxxxxxxxxx/split_config.armeabi_v7a.apk!libcocos.so (void* std::__ndk1::__thread_proxy<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_deletestd::__ndk1::__thread_struct>, void (cc::MessageQueue::)() noexcept, cc::MessageQueue>>(void*)+290816) (BuildId: 26e722ae72b8a35cf4bf58912e71d41e2a58038c)
#07 pc 0x00000000000a69b7 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+20)
#08 pc 0x00000000000601af /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30)
pid: 0, tid: 25386 >>>xxxxxxxxxx <<<
backtrace:
#00 pc 0x0000000000a4ef3c /data/app/~~75-HMI8eCDuzQlbsvF-hCg==/xxxxxxxxxx/split_config.arm64_v8a.apk!libcocos.so (cc::Root::frameMoveEnd()+323584) (BuildId: 05712d612d7c645000a6f17d852cfd8411811d0d)
#01 pc 0x0000000000b80f64 /data/app/~~75-HMI8eCDuzQlbsvF-hCg==/xxxxxxxxxx/split_config.arm64_v8a.apk!libcocos.so (js_cc_Root_frameMove(se::State&)+323584) (BuildId: 05712d612d7c645000a6f17d852cfd8411811d0d)
#02 pc 0x0000000000d47b90 /data/app/~~75-HMI8eCDuzQlbsvF-hCg==/xxxxxxxxxx/split_config.arm64_v8a.apk!libcocos.so (jsbFunctionWrapper(v8::FunctionCallbackInfov8::Value const&, bool ()(se::State&), char const)+323584) (BuildId: 05712d612d7c645000a6f17d852cfd8411811d0d)
#03 pc 0x000000000000f824 /data/app/~~75-HMI8eCDuzQlbsvF-hCg==/xxxxxxxxxx/split_config.arm64_v8a.apk
pid: 0, tid: 11440 >>>xxxxxxxxxx <<<
backtrace:
#00 pc 0x00000000000b1a8c /vendor/lib64/hw/vulkan.adreno.so (!!!0000!d02eaf653ed404e413c8c644159872!c263890aed!+756)
#01 pc 0x000000000009e8c0 /vendor/lib64/hw/vulkan.adreno.so (qglinternal::vkCmdCopyBufferToImage2KHR(VkCommandBuffer_T*, VkCopyBufferToImageInfo2KHR const*)+1136)
#02 pc 0x000000000009e420 /vendor/lib64/hw/vulkan.adreno.so (qglinternal::vkCmdCopyBufferToImage(VkCommandBuffer_T*, VkBuffer_T*, VkImage_T*, VkImageLayout, unsigned int, VkBufferImageCopy const*)+192)
#03 pc 0x0000000000a10ad0 /data/app/~~4DA5JXPrEkuXwCEMTk0bew==/xxxxxxxxxx/split_config.arm64_v8a.apk!libcocos.so (cc::gfx::cmdFuncCCVKCopyBuffersToTexture(cc::gfx::CCVKDevice*, unsigned char const* const*, cc::gfx::CCVKGPUTexture*, cc::gfx::BufferTextureCopy const*, unsigned int, cc::gfx::CCVKGPUCommandBuffer const*)+323584) (BuildId: 05712d612d7c645000a6f17d852cfd8411811d0d)
#04 pc 0x0000000000a02118 /data/app/~~4DA5JXPrEkuXwCEMTk0bew==/xxxxxxxxxx/split_config.arm64_v8a.apk!libcocos.so (cc::gfx::CCVKDevice::copyBuffersToTexture(unsigned char const* const*, cc::gfx::Texture*, cc::gfx::BufferTextureCopy const*, unsigned int)+323584) (BuildId: 05712d612d7c645000a6f17d852cfd8411811d0d)
#05 pc 0x00000000008482f8 /data/app/~~4DA5JXPrEkuXwCEMTk0bew==/xxxxxxxxxx/split_config.arm64_v8a.apk!libcocos.so (void cc::gfx::doBufferTextureCopycc::gfx::Device(unsigned char const* const*, cc::gfx::Texture*, cc::gfx::BufferTextureCopy const*, unsigned int, cc::MessageQueue*, cc::gfx::Device*)::DeviceCopyBuffersToTexture::execute()+323584) (BuildId: 05712d612d7c645000a6f17d852cfd8411811d0d)
#06 pc 0x00000000008494c0 /data/app/~~4DA5JXPrEkuXwCEMTk0bew==/xxxxxxxxxx/split_config.arm64_v8a.apk!libcocos.so (cc::MessageQueue::consumerThreadLoop()+323584) (BuildId: 05712d612d7c645000a6f17d852cfd8411811d0d)
#07 pc 0x000000000084ad34 /data/app/~~4DA5JXPrEkuXwCEMTk0bew==/xxxxxxxxxx/split_config.arm64_v8a.apk!libcocos.so (void* std::__ndk1::__thread_proxy<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_deletestd::__ndk1::__thread_struct>, void (cc::MessageQueue::)() noexcept, cc::MessageQueue>>(void*)+323584) (BuildId: 05712d612d7c645000a6f17d852cfd8411811d0d)
#08 pc 0x00000000000c56d8 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+228)
#09 pc 0x000000000005efa8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)
另外附上一些GP后台崩溃截图

