libcorona.so crash

Crashlogs from APKs compiled with version 3319:

First game, only thing that differs is the address in the base.odex file:
https://pastebin.com/41eKN8Ck

Other crash - happens about 5 times less often than the first one, but involves similar addresses:
https://pastebin.com/GHDgb4A8

From another game, the same adresses:
https://pastebin.com/0HbkjFQs

Just checked and the errors started happening after on of the game updates.

Is there a way to check what LUA functions are calling the Java_com_ansca_corona JavaToNativeShim->nativeGetCoronaRuntime function?

Just received the more detailed report from Google Pixel 2 (looks like that devices are more debug friendly):

 

#00 pc 0000000000246f70 /data/app/com.hawkgames.caseclicker2-GLnQXaqrT-DeM0\_WvS5Hwg==/lib/arm/libcorona.so #01 pc 0000000000246f7d /data/app/com.hawkgames.caseclicker2-GLnQXaqrT-DeM0\_WvS5Hwg==/lib/arm/libcorona.so #02 pc 0000000000246fcf /data/app/com.hawkgames.caseclicker2-GLnQXaqrT-DeM0\_WvS5Hwg==/lib/arm/libcorona.so #03 pc 00000000002466f3 /data/app/com.hawkgames.caseclicker2-GLnQXaqrT-DeM0\_WvS5Hwg==/lib/arm/libcorona.so #04 pc 000000000024606b /data/app/com.hawkgames.caseclicker2-GLnQXaqrT-DeM0\_WvS5Hwg==/lib/arm/libcorona.so #05 pc 0000000000142d38 /data/app/com.hawkgames.caseclicker2-GLnQXaqrT-DeM0\_WvS5Hwg==/lib/arm/libcorona.so #06 pc 00000000001411a8 /data/app/com.hawkgames.caseclicker2-GLnQXaqrT-DeM0\_WvS5Hwg==/lib/arm/libcorona.so #07 pc 000000000008d4c0 /data/app/com.hawkgames.caseclicker2-GLnQXaqrT-DeM0\_WvS5Hwg==/lib/arm/libcorona.so #08 pc 000000000002d07f /data/app/com.hawkgames.caseclicker2-GLnQXaqrT-DeM0\_WvS5Hwg==/oat/arm/base.odex (com.ansca.corona.JavaToNativeShim.nativeAbortShowingImageProvider [DEDUPED]+102) #09 pc 000000000001cc41 /dev/ashmem/dalvik-jit-code-cache (deleted)

So here’s how the functions look like now:

#00 \_\_gxx\_personality\_v0 #01 \_\_gxx\_personality\_v0 #02 \_\_gxx\_personality\_v0 #03 operator delete[](void\*) #04 sqrt(vlong, vlong) #05 CoronaExternalFormatBPP #06 CoronaExternalFormatBPP #07 JavaToNativeShim.nativeGetCoronaRuntime #08 JavaToNativeShim.nativeAbortShowingImageProvider

Build.settings:

https://pastebin.com/Wy6DKXud

I would suggest two actions:

  1. remove this plugin:

    [“plugin.google.play.services”] = { publisherId = “com.coronalabs” },

This is the old AdMob plugin and is no longer supported by Google and is going to cause problems. It should not be used at all. This used to be a dependency for many other plugins, but that hasn’t been the case in a couple of years. If you are using AdMob you will either have to pay for the modern version of the plugin or use Appodeal.

  1. This Vungle plugin is very, very old. Please update to the latest vungle plugin. Remove this:

    [“CoronaProvider.ads.vungle”] = { publisherId = “com.vungle” , supportedPlatforms = { iphone = true, android = true } },

See: https://support.vungle.com/hc/en-us/articles/360003413891-Get-Started-with-Vungle-SDK-v-6-2-Corona

  1. Update to at least 3326. You can’t submit to Google Play with any earlier version due to Android 8 support. We’ve addressed quite a few Android crashes. Consider the latest daily build.

Rob

Found the cause: the crashes happen randomly in  the onComplete event in the audio.play function (even if the event callback is empty).

After removing it the crash rate dropped from ~3.5% of sessions to < 0.5%.

Don’t use the onComplete func until it’s fixed.

Can you create a simple example app that crashes during the onCompete call?

Rob