I work in a mobile gaming company and we are seeing in the Google Play Console crashes that are affecting devices with adreno GPUs.
Sadly we have no reproduction steps. We know they are happening to people watching ads through Google Mobile Ads library and mainly affecting Android 8.0, 8.1 and 9.0. A few occurrences of the crash are seen in 7.0 and 7.1 too
Most affected device is QStylus (cv7a) with about 35% of the crashes
Next is Motoz Z (s) Play (albus) with about 12% of the crashes
Next is Galaxy J6+ (j6primelte) with about 6%
Then a long list of devices with less percentages, mainly: Moto G, LG and Aquaris models
The callstacks we are seeing show three different variations, all starting from a chrome webview and ending in EsxRenderBucket::AddUnbucketedEntries
Variation 1
Motorola Moto G (5S) Plus (sanders_n), 3072MB RAM, Android 8.1Report 1*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***pid: 0, tid: 0 >>> com.king.candycrush4 <<<backtrace:#00 pc 000000000015a2e2 /system/vendor/lib/egl/libGLESv2_adreno.so (EsxRenderBucket::AddUnbucketedEntries(EsxCmdBufType, unsigned int)+101)#01 pc 000000000015996d /system/vendor/lib/egl/libGLESv2_adreno.so (EsxRenderBucket::BucketRenderingCmds(EsxRenderBucketParams*)+754)#02 pc 000000000018a0e5 /system/vendor/lib/egl/libGLESv2_adreno.so (EsxContext::BucketRenderingCmds(int)+732)#03 pc 00000000000dda67 /system/vendor/lib/egl/libGLESv2_adreno.so (EsxContext::BindDrawFramebuffer(EsxFramebufferObject*)+82)#04 pc 00000000000a4621 /system/vendor/lib/egl/libGLESv2_adreno.so (EsxContext::GlBindFramebuffer(unsigned int, unsigned int)+276)#05 pc 00000000015f147f /data/app/com.android.chrome-wqERAYSle0a8a6tkl1Wgfg==/base.apk (offset 0xbd9000)
Samsung Galaxy Tab A (2017) (gta2slte), 2048MB RAM, Android 9Report 1*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***pid: 0, tid: 0 >>> com.king.candycrush4 <<<backtrace:#00 pc 0000000000152bb0 /system/vendor/lib/egl/libGLESv2_adreno.so (EsxRenderBucket::AddUnbucketedEntries(EsxCmdBufType, unsigned int)+132)#01 pc 0000000000152127 /system/vendor/lib/egl/libGLESv2_adreno.so (EsxRenderBucket::BucketRenderingCmds(EsxRenderBucketParams*)+740)#02 pc 000000000018607d /system/vendor/lib/egl/libGLESv2_adreno.so (EsxContext::BucketRenderingCmds(int)+712)#03 pc 00000000001856f7 /system/vendor/lib/egl/libGLESv2_adreno.so (EsxContext::BucketProcessingSetup()+70)#04 pc 00000000000dccff /system/vendor/lib/egl/libGLESv2_adreno.so (EsxContext::Clear(unsigned int, unsigned int, unsigned int, EsxClearValues*)+390)#05 pc 0000000000102c79 /system/vendor/lib/egl/libGLESv2_adreno.so (EsxGlApiParamValidate::GlClear(EsxDispatch*, unsigned int)+136)#06 pc 00000000023a743d /data/app/com.android.chrome-sYvAE4n4eDeuE7oxuzmLNQ==/base.apk (offset 0xbd9000)
Variation 3
LGE QStylus (cv7a), 3072MB RAM, Android 8.1Report 1*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***pid: 0, tid: 0 >>> com.king.candycrush4 <<<backtrace:#00 pc 000000000015b352 /vendor/lib/egl/libGLESv2_adreno.so (EsxRenderBucket::AddUnbucketedEntries(EsxCmdBufType, unsigned int)+101)#01 pc 000000000015a9dd /vendor/lib/egl/libGLESv2_adreno.so (EsxRenderBucket::BucketRenderingCmds(EsxRenderBucketParams*)+754)#02 pc 000000000018b15d /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::BucketRenderingCmds(int)+732)#03 pc 00000000000ddb77 /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::BindDrawFramebuffer(EsxFramebufferObject*)+82)#04 pc 00000000000a6137 /vendor/lib/egl/libGLESv2_adreno.so (EsxContext::GlDeleteFramebuffers(int, unsigned int const*)+430)#05 pc 00000000015b9607 /data/app/com.android.chrome-xp5pSkSRZ1k0mLNa9qgE2w==/base.apk (offset 0xbd9000)
Any help is appreciated.
Thanks.
Hi Pedro,
Thanks for reporting this issue, could you please provide the following additional information:
Thanks,
Carlos
Hi Carlos.
I cannot provide an .apk plus steps to reproduce because we do not know how to reproduce the crash. We collected the callstacks info from Google Play Console and it is all we have. We have tried to reproduce in-house without success.
What I can provide is GPU and OpenGL ES version of the most affected devices. But I do not know if they update drivers via OTA or not.
The info is
QStylus (cv7a)
RAM: 3072MB
System on Chip: Qualcomm SDM450 (Snapdragon SDM450)
CPU: 8x ARM Cortex-A53 (1800 Mhz)
GPU: Qualcomm Adreno 506 (600 Mhz)
OpenGL ES version: 3.2
Moto Z (2) Play (albus)
RAM: 3840MB
System on Chip: Qualcomm MSM8953 (Snapdragon 625)
CPU: 8x ARM Cortex-A53 (2000 Mhz)
GPU: Qualcomm Adreno 506 (650 Mhz)
OpenGL ES version: 3.2
Samsung Galaxy J6+ (j6primelte)
RAM: 3072MB
System on Chip: Qualcomm MSM8917 (Snapdragon 425)
CPU: 4x ARM Cortex-A53 (1400 Mhz)
GPU: Qualcomm Adreno 308 (400 Mhz)
OpenGL ES version: 3.0
Hope it helps.
Thanks.
Hi Pedro,
Thanks for providing those details. Unfortunatly this is not enough information for us to reproduce internally and we have no knowledge of this crash being a known issue where we could provide any meaningful recommendation at this point. I apologize that I can't provide more support than this at the moment but if you manage to reproduce it locally and/or you have an APK we could try, that could help us diagnose this better.
Thanks,
Carlos
Hello,
We have same kind of issue with the same branding devices, Motorolas, LGs and Older or lower end Samsungs using Android 7 to 9 and using adreno 300 or 500 series gpu:s.
The issue seems to be that the devices run out of graphics memory even when there should be plenty ram to use still and slowly starts dying until hard crash or ANR happens.