0

I have an app in Google Play store and every couple of weeks, I see crash report with native stack like this in the Google Play Console:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> sk.mimac.slideshow <<<

backtrace:
  #00  pc 000000000001ce72  /system/lib/libc.so (abort+62)
  #01  pc 00000000000169e8  /system/lib/libminikin.so (abort_with_message(char const*)+24)
  #02  pc 0000000000016a44  /system/lib/libminikin.so (__ubsan_handle_add_overflow_minimal_abort+24)
  #03  pc 000000000000f22b  /system/lib/libminikin.so (void minikin::LayoutCache::getOrCreate<minikin::LayoutAppendFunctor>(minikin::U16StringPiece const&, minikin::Range const&, minikin::MinikinPaint const&, bool, minikin::StartHyphenEdit, minikin::EndHyphenEdit, minikin::LayoutAppendFunctor&)+542)
  #04  pc 000000000000ed2d  /system/lib/libminikin.so (minikin::Layout::doLayoutWord(unsigned short const*, unsigned int, unsigned int, unsigned int, bool, minikin::MinikinPaint const&, unsigned int, minikin::StartHyphenEdit, minikin::EndHyphenEdit, minikin::LayoutPieces const*, minikin::Layout*, float*, minikin::MinikinExtent*, minikin::MinikinRect*, minikin::LayoutPieces*)+204)
  #05  pc 000000000000e8d5  /system/lib/libminikin.so (minikin::Layout::doLayoutRunCached(minikin::U16StringPiece const&, minikin::Range const&, bool, minikin::MinikinPaint const&, unsigned int, minikin::StartHyphenEdit, minikin::EndHyphenEdit, minikin::LayoutPieces const*, minikin::Layout*, float*, minikin::MinikinExtent*, minikin::MinikinRect*, minikin::LayoutPieces*)+244)
  #06  pc 000000000000ec09  /system/lib/libminikin.so (minikin::Layout::measureText(minikin::U16StringPiece const&, minikin::Range const&, minikin::Bidi, minikin::MinikinPaint const&, minikin::StartHyphenEdit, minikin::EndHyphenEdit, float*, minikin::MinikinExtent*, minikin::LayoutPieces*)+140)
  #07  pc 00000000000890fd  /system/lib/libhwui.so (android::MinikinUtils::measureText(android::Paint const*, minikin::Bidi, android::Typeface const*, unsigned short const*, unsigned int, unsigned int, unsigned int, float*)+76)
  #08  pc 00000000000d9813  /system/lib/libandroid_runtime.so (android::PaintGlue::getRunAdvance___CIIIIZI_F(_JNIEnv*, _jclass*, long long, _jcharArray*, int, int, int, int, unsigned char, int)+202)
  #09  pc 00000000003b3ce3  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.graphics.Paint.nGetRunAdvance+178)
  #10  pc 00000000006f0725  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.graphics.Paint.getRunAdvance+172)
  #11  pc 00000000006f05c3  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.graphics.Paint.getRunAdvance+250)
  #12  pc 0000000000973fb9  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.text.TextLine.getRunAdvance+128)
  #13  pc 0000000000974ea9  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.text.TextLine.handleText+312)
  #14  pc 0000000000974b67  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.text.TextLine.handleRun+2326)
  #15  pc 0000000000975ab1  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.text.TextLine.measure+216)
  #16  pc 0000000000975fdd  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.text.TextLine.metrics+44)
  #17  pc 0000000000968631  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.text.Layout.getLineExtent+392)
  #18  pc 000000000096a8bf  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.text.Layout.drawText+2006)
  #19  pc 0000000000969b31  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.text.Layout.draw+128)
  #20  pc 0000000000b456fd  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.widget.TextView.onDraw+2804)
  #21  pc 0000000000a7a98b  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.View.draw+202)
  #22  pc 0000000000a91ec9  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.View.updateDisplayListIfDirty+944)
  #23  pc 0000000000a7b78f  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.View.draw+1014)
  #24  pc 0000000000b1c4cf  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.ViewGroup.drawChild+54)
  #25  pc 0000000000b19a4b  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.ViewGroup.dispatchDraw+1290)
  #26  pc 0000000000a7a99b  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.View.draw+218)
  #27  pc 0000000000a91ec9  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.View.updateDisplayListIfDirty+944)
  #28  pc 0000000000b1a0d7  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.ViewGroup.dispatchGetDisplayList+182)
  #29  pc 0000000000a91c0f  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.View.updateDisplayListIfDirty+246)
  #30  pc 0000000000b1a0d7  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.ViewGroup.dispatchGetDisplayList+182)
  #31  pc 0000000000a91c0f  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.View.updateDisplayListIfDirty+246)
  #32  pc 0000000000b1a0d7  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.ViewGroup.dispatchGetDisplayList+182)
  #33  pc 0000000000a91c0f  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.View.updateDisplayListIfDirty+246)
  #34  pc 0000000000b1a0d7  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.ViewGroup.dispatchGetDisplayList+182)
  #35  pc 0000000000a91c0f  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.View.updateDisplayListIfDirty+246)
  #36  pc 0000000000b1a0d7  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.ViewGroup.dispatchGetDisplayList+182)
  #37  pc 0000000000a91c0f  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.View.updateDisplayListIfDirty+246)
  #38  pc 00000000009ba3f5  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.ThreadedRenderer.updateViewTreeDisplayList+76)
  #39  pc 00000000009ba155  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.ThreadedRenderer.updateRootDisplayList+212)
  #40  pc 00000000009ba4c9  /system/framework/arm/boot-framework.oat (offset 0x3ac000) (android.view.ThreadedRenderer.draw+168)
  #41  pc 000000000002b915  /dev/ashmem/dalvik-jit-code-cache (deleted)
  • So far, I haven't been able to reproduce this bug / problem / crash
  • Similar reports are coming from various devices, mostly with Android 9 (although it might be just a coincidence)
  • "sk.mimac.slideshow" is the package of my app
  • "libminikin" is apparently some Android library, although I have no idea what it does

Is there any way to find out what might be the cause of this crash?

Milan Fabian
  • 154
  • 4
  • 13
  • See https://support.google.com/googleplay/android-developer/answer/6295281?hl=en – EraftYps Jun 14 '20 at 06:33
  • @user667634 This article is about decoding Java stack traces. I posted native stack trace - libminikin.so is not my library and native code is not obfuscated by ProGuard – Milan Fabian Jun 14 '20 at 10:57
  • Do captured logs show the contents of `abort_with_message` ? – Botje Jun 15 '20 at 13:25
  • @Botje Unfortunatelly no, I have only this stacktrace, APK version and approximate time when it happend, Google Play console doesn't show more details. – Milan Fabian Jun 15 '20 at 17:05

0 Answers0