Frequent Android Crashes

Hi,

As annouced at Google Playtime 2017, Google will start penalizing apps (using reduced ranking) which exhibit “Bad behaviour” as reported in the Android Vitals section of the dev console.

Due to this announcement we went through our apps and discovered a bunch of frequent crashes. However, with the guidelines for how to report a bug we don’t have enough information to file anything yet. So I think it might be good to start collecting info about frequent crashes from all Corona users. Hopefully if any information will still be missing Corona staff might have a look anyway if many users are affected. 

* This one affects almost all of my apps. Seems to be restricted to android versions from 7.0 and newer. Corona version somewhere between 2017.3114 - 2017.3157

signal 5 (SIGTRAP), code 1 (TRAP\_BRKPT) backtrace: native: pc 00000000004cd104 /data/app/com.android.chrome-1/base.apk

* Occurs very frequently for a number of different android versions ranging from 6.0 and up. Corona version somewhere between 2017.3114 - 2017.3157

signal 11 (SIGSEGV), code 1 (SEGV\_MAPERR) backtrace: native: pc 00000000000a2f94 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/libopenal.so native: pc 0000000000016874 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/libopenal.so (alcCreateContext+436) native: pc 0000000000005ff7 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/libalmixer.so (ALmixer\_Init+214) native: pc 000000000011d864 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/libcorona.so native: pc 00000000000fc880 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/libcorona.so native: pc 000000000000cc04 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/liblua.so native: pc 000000000001ce18 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/liblua.so native: pc 000000000000d050 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/liblua.so native: pc 0000000000005524 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/liblua.so (lua\_call+32) native: pc 00000000000126cc /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/liblua.so native: pc 000000000000cc04 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/liblua.so native: pc 000000000001c954 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/liblua.so native: pc 000000000000d050 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/liblua.so native: pc 000000000000c35c /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/liblua.so native: pc 000000000000d1c8 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/liblua.so native: pc 00000000000055a0 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/liblua.so (lua\_pcall+88) native: pc 00000000000f5448 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/libcorona.so native: pc 00000000000d75e0 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/libcorona.so native: pc 000000000012efa0 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/libcorona.so native: pc 0000000000130f50 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/libcorona.so native: pc 000000000012f458 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/libcorona.so native: pc 00000000001301b4 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/libcorona.so native: pc 000000000002b4f8 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/lib/arm/libcorona.so native: pc 0000000000c0f225 /data/app/com.kavrakids.Cats\_Dogs\_Photo\_Jigsaw\_Puzzle-1/oat/arm/base.odex

* Occurs very frequently for android versions around 5.0. Corona version somewhere between 2017.3114 - 2017.3157

java.lang.IllegalStateException android.os.MessageQueue.nativePollOnce java.lang.IllegalStateException: at android.os.MessageQueue.nativePollOnce (Native Method) at android.os.MessageQueue.next (MessageQueue.java:143) at android.os.Looper.loop (Looper.java:122) at android.app.ActivityThread.main (ActivityThread.java:5289) at java.lang.reflect.Method.invoke (Native Method) at java.lang.reflect.Method.invoke (Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:694)

Has anyone else seen similar crashes?

We have seen a lot of this crashes -> signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
 

[lua]backtrace:
native: pc 000000000009bce8 /system/lib/libandroid_runtime.so (_ZN7android6Bitmap6jniEnvEv+11)
native: pc 000000000009bebd /system/lib/libandroid_runtime.so (_ZN7android6Bitmap17unpinPixelsLockedEv+28)
native: pc 000000000009bef5 /system/lib/libandroid_runtime.so (_ZN7android6Bitmap20onStrongRefDestroyedEv+28)
native: pc 00000000001248ad /system/lib/libskia.so (_ZN8SkBitmap10freePixelsEv+52)
native: pc 000000000012486d /system/lib/libskia.so (_ZN8SkBitmapD1Ev+4)
native: pc 0000000000127e65 /system/lib/libskia.so
native: pc 0000000000137771 /system/lib/libskia.so
native: pc 000000000013647f /system/lib/libskia.so (_ZN8SkCanvasD2Ev+42)
native: pc 0000000000136549 /system/lib/libskia.so (_ZN8SkCanvasD0Ev+2)
native: pc 000000000005420d /system/lib/libhwui.so
native: pc 000000000068ced3 /system/framework/arm/boot-core-libart.oat (libcore.util.NativeAllocationRegistry.applyFreeFunction+102)
native: pc 000000000068cc11 /system/framework/arm/boot-core-libart.oat (libcore.util.NativeAllocationRegistry$CleanerThunk.run+84)
native: pc 0000000000792fbb /system/framework/arm/boot.oat (sun.misc.Cleaner.clean+86)
native: pc 00000000005fdc75 /system/framework/arm/boot.oat (java.lang.ref.ReferenceQueue.enqueueLocked+144)
native: pc 00000000005fdd2b /system/framework/arm/boot.oat (java.lang.ref.ReferenceQueue.enqueuePending+110)
native: pc 00000000005e1309 /system/framework/arm/boot-core-libart.oat (java.lang.Daemons$ReferenceQueueDaemon.run+228)
native: pc 00000000005f749d /system/framework/arm/boot.oat (java.lang.Thread.run+48)
native: pc 00000000000a9041 /system/lib/libart.so (art_quick_invoke_stub_internal+64)
native: pc 0000000000402451 /system/lib/libart.so (art_quick_invoke_stub+232)
native: pc 00000000000b02d5 /system/lib/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+136)
native: pc 0000000000312b99 /system/lib/libart.so (_ZN3artL18InvokeWithArgArrayERKNS_33ScopedObjectAccessAlreadyRunnableEPNS_9ArtMethodEPNS_8ArgArrayEPNS_6JValueEPKc+56)
native: pc 0000000000313965 /system/lib/libart.so (_ZN3art35InvokeVirtualOrInterfaceWithJValuesERKNS_33ScopedObjectAccessAlreadyRunnableEP8_jobjectP10_jmethodIDP6jvalue+256)
native: pc 000000000032b389 /system/lib/libart.so (_ZN3art6Thread14CreateCallbackEPv+848)
native: pc 0000000000047083 /system/lib/libc.so (_ZL15__pthread_startPv+22)
native: pc 0000000000019d39 /system/lib/libc.so (__start_thread+6)[/lua]

Most of the crashes happened on Xperia (XZ and Z5) and S7 Edge with OS 7.0 or 7.1.
 

The app was updated using 2017.3159, will post back if it helps.

I don’t have the expertise to drill down, but I have have plenty of crashes in various libraries that look Corona-related.

I’m very happy to open access to the dev console for Corona developers who want to investigate. 

Here’s a screenshot showing last 7 days for most popular app, around 3K crashes: https://www.dropbox.com/s/jhnm8ktwl6a5dex/crashes_corona_forum.png?dl=0

What are the devices and OS affected @ferflubron ?

Everything @fungrip .

See screenshot

The crashes visible in the screenshot are actually very similar to what I see for my apps. 

i don’t have equivalent volumes, but as a percentage, all my apps suffer from >1% of signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

typical culprits at the top of backtrace include:  libcorona.so, libopenal.so, libalmixer.so, liblua.so

my top occurring ANR closely resembles the one by OP, but doesn’t seem tied to a particular corona build - libopenal.so and libalmixer.so have always been at the top of crash-generators for me.

Are there steps to reproduce any of this crashes?

Dumping .so tracebacks doesn’t really help without Corona version. To parse them we would need exact Corona version apps was build with. This would have very slight chance of leading us to the issue. Also, it would be better to attach them as text files.

Hi vlads,

Do you mean that you will not have a look at any of the crashes unless we could reproduce it?

Hello. I would take a look if you can provide crash log with specific corona version. Every time corona is built we save symbols so we can decode crashlogs since around 3107.
But seeing where crash occurred often doesn’t say why.
Trust me, we will do our best to reduce crashing.

To reiterate:

  • try to get a repro. Provided code which causes crash and we would fix a cras in no time.
  • if you can’t - send us trace backs/crash logs. They are useful only combined with exact version of Corona. This way may lead to fixing the crash. Problem is, it often points to some invalid state and we have no idea how it ever could get there.

In both cases we shall do our best to fix a crash.

Ok, great!

  • try to get a repro. Provided code which causes crash and we would fix a cras in no time.

In most cases this is very hard. We only see the reports on Google Play console so we are on the same level as you. 

  • if you can’t - send us trace backs/crash logs. They are useful only combined with exact version of Corona. This way may lead to fixing the crash. Problem is, it often points to some invalid state and we have no idea how it ever could get there.

As stated above, we just have the information from Google Play console. In the first message of this thread I copy pasted the information from console for a few of the crashes. I’m happy to provide more info if it is possible to retrieve in some way. But as of now, I don’t know where to get it. 

If you have apk which is associated with crash start it and monitor adb logcat. Corona prints out its version when started. We can “decode” back traces provided version.

Those libs have always been high up on both ANRs and Crashes for me as well. 

Ok, if it’s only Corona version and backtrace from Google Play console it should be easy to collect. I’ll gather some info during the day. 

This was build with 2017.3159
 

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

_ZN7android6Bitmap6jniEnvEv

backtrace: native: pc 000000000009bd4c /system/lib/libandroid\_runtime.so (\_ZN7android6Bitmap6jniEnvEv+11) native: pc 000000000009bf21 /system/lib/libandroid\_runtime.so (\_ZN7android6Bitmap17unpinPixelsLockedEv+28) native: pc 000000000009bf59 /system/lib/libandroid\_runtime.so (\_ZN7android6Bitmap20onStrongRefDestroyedEv+28) native: pc 0000000000124c5d /system/lib/libskia.so (\_ZN8SkBitmap10freePixelsEv+52) native: pc 0000000000124c1d /system/lib/libskia.so (\_ZN8SkBitmapD1Ev+4) native: pc 0000000000128215 /system/lib/libskia.so native: pc 0000000000137b21 /system/lib/libskia.so native: pc 000000000013682f /system/lib/libskia.so (\_ZN8SkCanvasD2Ev+42) native: pc 00000000001368f9 /system/lib/libskia.so (\_ZN8SkCanvasD0Ev+2) native: pc 00000000000529b1 /system/lib/libhwui.so native: pc 000000000068ceeb /system/framework/arm/boot-core-libart.oat (libcore.util.NativeAllocationRegistry.applyFreeFunction+102) native: pc 000000000068cc29 /system/framework/arm/boot-core-libart.oat (libcore.util.NativeAllocationRegistry$CleanerThunk.run+84) native: pc 0000000000792f13 /system/framework/arm/boot.oat (sun.misc.Cleaner.clean+86) native: pc 00000000005fdc75 /system/framework/arm/boot.oat (java.lang.ref.ReferenceQueue.enqueueLocked+144) native: pc 00000000005fdd2b /system/framework/arm/boot.oat (java.lang.ref.ReferenceQueue.enqueuePending+110) native: pc 00000000005e1309 /system/framework/arm/boot-core-libart.oat (java.lang.Daemons$ReferenceQueueDaemon.run+228) native: pc 00000000005f749d /system/framework/arm/boot.oat (java.lang.Thread.run+48) native: pc 00000000000a8f41 /system/lib/libart.so (art\_quick\_invoke\_stub\_internal+64) native: pc 0000000000401531 /system/lib/libart.so (art\_quick\_invoke\_stub+232) native: pc 00000000000b01d5 /system/lib/libart.so (\_ZN3art9ArtMethod6InvokeEPNS\_6ThreadEPjjPNS\_6JValueEPKc+136) native: pc 00000000003126f9 /system/lib/libart.so (\_ZN3artL18InvokeWithArgArrayERKNS\_33ScopedObjectAccessAlreadyRunnableEPNS\_9ArtMethodEPNS\_8ArgArrayEPNS\_6JValueEPKc+56) native: pc 00000000003134c5 /system/lib/libart.so (\_ZN3art35InvokeVirtualOrInterfaceWithJValuesERKNS\_33ScopedObjectAccessAlreadyRunnableEP8\_jobjectP10\_jmethodIDP6jvalue+256) native: pc 000000000032a365 /system/lib/libart.so (\_ZN3art6Thread14CreateCallbackEPv+848) native: pc 0000000000047073 /system/lib/libc.so (\_ZL15\_\_pthread\_startPv+22) native: pc 0000000000019d69 /system/lib/libc.so (\_\_start\_thread+6)

Few of the devices affected

Sony Xperia XZs (SOV35), 4096MB RAM, Android 7.1
Sharp AQUOS Xx 3 (SG506SH), 3072MB RAM, Android 7.0
Samsung Galaxy S7 Edge (SC-02H), 4096MB RAM, Android 7.0
Sharp AQUOS ZETA SH-04H (SH-04H), 3072MB RAM, Android 7.0

Pretty much the same for me.  My crash free daily sessions is 99.3% and I have a lot of daily sessions.

I will add that this is the only new crash seen with my last update using 3145

java.lang.IndexOutOfBoundsException: at android.text.SpannableStringBuilder.checkRange (SpannableStringBuilder.java:1029) at android.text.SpannableStringBuilder.replace (SpannableStringBuilder.java:471) at android.text.SpannableStringBuilder.delete (SpannableStringBuilder.java:224) at android.text.SpannableStringBuilder.delete (SpannableStringBuilder.java:38) at android.view.inputmethod.BaseInputConnection.deleteSurroundingText (BaseInputConnection.java:252) at com.android.internal.view.IInputConnectionWrapper.executeMessage (IInputConnectionWrapper.java:389) at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage (IInputConnectionWrapper.java:78) at android.os.Handler.dispatchMessage (Handler.java:111) at android.os.Looper.loop (Looper.java:194) at android.app.ActivityThread.main (ActivityThread.java:5576) at java.lang.reflect.Method.invoke (Native Method) at java.lang.reflect.Method.invoke (Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:956) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:751)

Well… libcorona.so, libopenal.so, libalmixer.so, liblua.so is where all Corona code basically is.

@Fungrip, that crash, 

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

_ZN7android6Bitmap6jniEnvEv

Seems to be not Corona related somehow (all traces are in system libraries, not even called from Corona). Weird…

Understood, but was attempting to specifically call to attention libopenal.so and libalmixer.so.  They look generally like this (build 2017.3155)

 native: pc 00000000000a2f94 /data/app-lib/com.dev.app-3/libopenal.so native: pc 0000000000016874 /data/app-lib/com.dev.app-3/libopenal.so (alcCreateContext+436) native: pc 0000000000005ff7 /data/app-lib/com.dev.app-3/libalmixer.so (ALmixer\_Init+214) native: pc 000000000011dcdc /data/app-lib/com.dev.app-3/libcorona.so native: pc 00000000000fccf8 /data/app-lib/com.dev.app-3/libcorona.so native: pc 000000000000cc04 /data/app-lib/com.dev.app-3/liblua.so native: pc 000000000001ce18 /data/app-lib/com.dev.app-3/liblua.so native: pc 000000000000d050 /data/app-lib/com.dev.app-3/liblua.so native: pc 000000000000c35c /data/app-lib/com.dev.app-3/liblua.so native: pc 000000000000d1c8 /data/app-lib/com.dev.app-3/liblua.so native: pc 00000000000055a0 /data/app-lib/com.dev.app-3/liblua.so (lua\_pcall+88) native: pc 00000000000f58c0 /data/app-lib/com.dev.app-3/libcorona.so native: pc 000000000008988c /data/app-lib/com.dev.app-3/libcorona.so native: pc 000000000012f934 /data/app-lib/com.dev.app-3/libcorona.so native: pc 000000000007ba60 /data/app-lib/com.dev.app-3/libcorona.so native: pc 000000000002060c /system/lib/libdvm.so (dvmPlatformInvoke+112) native: pc 00000000000512ef /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const\*, JValue\*, Method const\*, Thread\*)+398) native: pc 0000000000029aa0 /system/lib/libdvm.so native: pc 0000000000030f84 /system/lib/libdvm.so (dvmMterpStd(Thread\*)+76) native: pc 000000000002e61c /system/lib/libdvm.so (dvmInterpret(Thread\*, Method const\*, JValue\*)+184) native: pc 0000000000063751 /system/lib/libdvm.so (dvmCallMethodV(Thread\*, Method const\*, Object\*, bool, JValue\*, std::\_\_va\_list)+336) native: pc 0000000000063775 /system/lib/libdvm.so (dvmCallMethod(Thread\*, Method const\*, Object\*, JValue\*, ...)+20) native: pc 0000000000058453 /system/lib/libdvm.so native: pc 000000000000d310 /system/lib/libc.so (\_\_thread\_entry+72) native: pc 000000000000d4a8 /system/lib/libc.so (pthread\_create+240)

Top devices:  Galaxy Grand-Max (grandmaxltekx), Galaxy Tab E 9.6 (gtelwifi), Galaxy Tab3V 7.0 (goyavewifixtc), Moto G (1st Gen) (falcon_umts) - all of which were Android 4.4

Another top offender, but only recently, is the “ZN7*Bitmap*” thing (whatever that is), again built with 2017.3155:

 native: pc 00000000000a2f2c /system/lib/libandroid\_runtime.so (\_ZN7android6Bitmap6jniEnvEv+15) native: pc 00000000000a30fd /system/lib/libandroid\_runtime.so (\_ZN7android6Bitmap17unpinPixelsLockedEv+28) native: pc 00000000000a3135 /system/lib/libandroid\_runtime.so (\_ZN7android6Bitmap20onStrongRefDestroyedEv+28) native: pc 000000000012f9ed /system/lib/libskia.so (\_ZN8SkBitmap10freePixelsEv+52) native: pc 000000000012f9ad /system/lib/libskia.so (\_ZN8SkBitmapD1Ev+4) native: pc 0000000000133401 /system/lib/libskia.so native: pc 00000000001430d5 /system/lib/libskia.so native: pc 0000000000141dad /system/lib/libskia.so (\_ZN8SkCanvasD2Ev+44) native: pc 0000000000141e79 /system/lib/libskia.so (\_ZN8SkCanvasD0Ev+2) native: pc 000000000005845b /system/lib/libhwui.so native: pc 000000000068e49b /system/framework/arm/boot-core-libart.oat (libcore.util.NativeAllocationRegistry.applyFreeFunction+102) native: pc 000000000068e1d9 /system/framework/arm/boot-core-libart.oat (libcore.util.NativeAllocationRegistry$CleanerThunk.run+84) native: pc 0000000000794473 /system/framework/arm/boot.oat (sun.misc.Cleaner.clean+86) native: pc 00000000005feedd /system/framework/arm/boot.oat (java.lang.ref.ReferenceQueue.enqueueLocked+144) native: pc 00000000005fef93 /system/framework/arm/boot.oat (java.lang.ref.ReferenceQueue.enqueuePending+110) native: pc 00000000005e2371 /system/framework/arm/boot-core-libart.oat (java.lang.Daemons$ReferenceQueueDaemon.run+228) native: pc 00000000005f86f5 /system/framework/arm/boot.oat (java.lang.Thread.run+48) native: pc 00000000000a97c1 /system/lib/libart.so (art\_quick\_invoke\_stub\_internal+64) native: pc 000000000042fa1b /system/lib/libart.so (art\_quick\_invoke\_stub+230) native: pc 00000000000b1029 /system/lib/libart.so (\_ZN3art9ArtMethod6InvokeEPNS\_6ThreadEPjjPNS\_6JValueEPKc+148) native: pc 000000000033d65d /system/lib/libart.so (\_ZN3artL18InvokeWithArgArrayERKNS\_33ScopedObjectAccessAlreadyRunnableEPNS\_9ArtMethodEPNS\_8ArgArrayEPNS\_6JValueEPKc+56) native: pc 000000000033e5cb /system/lib/libart.so (\_ZN3art35InvokeVirtualOrInterfaceWithJValuesERKNS\_33ScopedObjectAccessAlreadyRunnableEP8\_jobjectP10\_jmethodIDP6jvalue+258) native: pc 000000000035649f /system/lib/libart.so (\_ZN3art6Thread14CreateCallbackEPv+846) native: pc 0000000000048677 /system/lib/libc.so (\_ZL15\_\_pthread\_startPv+22) native: pc 000000000001a411 /system/lib/libc.so (\_\_start\_thread+6)

On a number of different devices, but all Android 7.0

Another variant looks like this:

 native: pc 00000000000924ea /system/lib/libandroid\_runtime.so (\_ZN7android6Bitmap6jniEnvEv+9) native: pc 00000000000926ad /system/lib/libandroid\_runtime.so (\_ZN7android6Bitmap17unpinPixelsLockedEv+28) native: pc 00000000000926e5 /system/lib/libandroid\_runtime.so (\_ZN7android6Bitmap20onStrongRefDestroyedEv+28) native: pc 00000000000ea865 /system/lib/libskia.so (\_ZN8SkBitmap10freePixelsEv+20) native: pc 00000000000ea87f /system/lib/libskia.so (\_ZN8SkBitmapD1Ev+4) native: pc 00000000000ec4f9 /system/lib/libskia.so native: pc 00000000000ec511 /system/lib/libskia.so native: pc 00000000000f9387 /system/lib/libskia.so native: pc 00000000000fbc43 /system/lib/libskia.so (\_ZN8SkCanvasD2Ev+22) native: pc 00000000000fbc75 /system/lib/libskia.so (\_ZN8SkCanvasD0Ev+4) native: pc 000000000005d63f /system/lib/libhwui.so native: pc 00000000032cc515 /system/framework/arm/boot.oat

Again, on a number of devices, but this time they’re all Android 6.0.

Those two broad classes of crashes (with libopenal.so or “ZN7” cited) probably account for 80% of crashes, across all apps.  There are dozens of little “one-time” crashers referencing various internal libs, but if the big offenders could be cleaned up that’d probably be enough to resolve the “vitals ranking” issue.

My top crash is

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

libcorona.so

backtrace: native: pc 0000000000030c7c /data/app/com.spheregamestudios.designercity-1/lib/arm/libcorona.so native: pc 000000000002b6e4 /data/app/com.spheregamestudios.designercity-1/lib/arm/libcorona.so native: pc 000000000002e9f8 /data/app/com.spheregamestudios.designercity-1/lib/arm/libcorona.so (Java\_com\_ansca\_corona\_JavaToNativeShim\_nativeDone+28) native: pc 0000000000937be5 /data/app/com.spheregamestudios.designercity-1/oat/arm/base.odex