Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to deobfuscate Android crash logs? #630

Open
Beeblerox opened this issue Jul 17, 2019 · 0 comments
Open

How to deobfuscate Android crash logs? #630

Beeblerox opened this issue Jul 17, 2019 · 0 comments

Comments

@Beeblerox
Copy link
Contributor

Beeblerox commented Jul 17, 2019

Hello! Currently i'm working on porting quite big game from OpenFL-legacy to NME, and i've faced with problem of decoding crash logs on Android target.
Our way of doing this with OpenFL-legacy is this:

  1. Compile app with HXCPP_DEBUG_LINK flag and same generated *.cpp, *.h and *.so files somewhere - these files are used for decoding crashes which come from Google Play
  2. Compile app normally without HXCPP_DEBUG_LINK flag - this build is used for uploading to Google Play.
  3. When we get new crashes, we just run ndk-stack, like this:
    ndk-stack -sym "path-to-so-files-generated-with-HXCPP_DEBUG_LINK-flag" -dump "path-to-crash-log"
    After that we get text file where we can find the whole stack trace of the C++ code generated from Haxe code.

I've tried to apply the same approach to NME, but i only get stack trace of pure C++ part of code only. For example, i've modified bunnymark demo (added couple of lines to cause a crash when you tap on screen) BunnyMark.zip. When it crashes it gives me following log:

07-18 13:46:02.530  3106  3209 E GetJar SDK [com.nevosoft.wonderlines.free]: CommManager: processesRequestWithRetries() [thread:2949] [request:532269843] Operation failed, not retrying, returning NULL
07-18 13:46:02.531  3106  3209 E GetJar SDK [com.nevosoft.wonderlines.free]: CommManager: access$400() [thread:2949] [request:532269843] Received a NULL result
07-18 13:46:02.532  3106  3209 I GetJar SDK [com.nevosoft.wonderlines.free]: CommManager: access$400() [thread:2949] [request:532269843] Completed Request has been removed from _ActiveRequests
07-18 13:46:02.533  3106  3207 I GetJar SDK [com.nevosoft.wonderlines.free]: CommManager: access$200() [thread:2948] Worker Thread is awake
07-18 13:46:02.534  3106  3207 I GetJar SDK [com.nevosoft.wonderlines.free]: CommManager: access$200() [thread:2948] Worker Thread is waiting to be notified
07-18 13:46:02.535  3106  3149 E GetJar SDK [com.nevosoft.wonderlines.free]: PackageMonitor: doOnReceive() AuthFlowState = FAILED after _authFlowEvent.waitForOpen()
07-18 13:46:02.535  3106  3132 E GetJar SDK [com.nevosoft.wonderlines.free]: PackageMonitor: doOnReceive() AuthFlowState = FAILED after _authFlowEvent.waitForOpen()
07-18 13:46:04.977  3157  3223 I trace   : Stage.hx:504: Exception: Null Object Reference
07-18 13:46:04.977  3157  3223 I trace   :
07-18 13:46:04.977  3157  3223 I trace   : Called from Main.stage_onMouseDown (Main.hx line 179)
07-18 13:46:04.977  3157  3223 I trace   : Called from nme.events.Listener.dispatchEvent (nme/events/EventDispatcher.hx line 32)
07-18 13:46:04.977  3157  3223 I trace   : Called from nme.events.EventDispatcher.dispatchEvent (nme/events/EventDispatcher.hx line 140)
07-18 13:46:04.977  3157  3223 I trace   : Called from nme.display.DisplayObject.nmeDispatchEvent (nme/display/DisplayObject.hx line 177)
07-18 13:46:04.977  3157  3223 I trace   : Called from nme.display.DisplayObject.nmeFireEvent (nme/display/DisplayObject.hx line 218)
07-18 13:46:04.977  3157  3223 I trace   : Called from nme.display.Stage.onMouse (nme/display/Stage.hx line 456)
07-18 13:46:04.977  3157  3223 I trace   : Stage.hx:505:
07-18 13:46:04.977  3157  3223 I trace   :
07-18 13:46:04.977  3157  3223 I trace   :
07-18 13:46:04.977  3157  3223 I trace   : ===Terminating===
07-18 13:46:04.977  3157  3223 I trace   : .
07-18 13:46:04.983  3157  3223 E libc++abi: terminating with uncaught exception of type Dynamic
07-18 13:46:04.983  3157  3223 F libc    : Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 3223 (GLThread 6112), pid 3157 (mples.bunnymark)
07-18 13:46:05.088  3414  3414 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
07-18 13:46:05.091  1006  1006 I /system/bin/tombstoned: received crash request for pid 3223
07-18 13:46:05.094  3414  3414 I crash_dump64: performing dump of process 3157 (target tid = 3223)
07-18 13:46:05.110  3414  3414 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-18 13:46:05.110  3414  3414 F DEBUG   : Build fingerprint: 'xiaomi/jasmine/jasmine_sprout:9/PKQ1.180904.001/V10.0.10.0.PDIMIXM:user/release-keys'
07-18 13:46:05.110  3414  3414 F DEBUG   : Revision: '0'
07-18 13:46:05.110  3414  3414 F DEBUG   : ABI: 'arm64'
07-18 13:46:05.110  3414  3414 F DEBUG   : pid: 3157, tid: 3223, name: GLThread 6112  >>> org.openfl.samples.bunnymark <<<
07-18 13:46:05.110  3414  3414 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
07-18 13:46:05.110  3414  3414 F DEBUG   : Abort message: 'terminating with uncaught exception of type Dynamic'
07-18 13:46:05.110  3414  3414 F DEBUG   :     x0  0000000000000000  x1  0000000000000c97  x2  0000000000000006  x3  0000000000000008
07-18 13:46:05.110  3414  3414 F DEBUG   :     x4  fefefefeff62686c  x5  fefefefeff62686c  x6  fefefefeff62686c  x7  7f7f7f7f7f7f7f7f
07-18 13:46:05.110  3414  3414 F DEBUG   :     x8  0000000000000083  x9  ebbc2742cc325a3f  x10 0000000000000000  x11 fffffffc7ffffbdf
07-18 13:46:05.110  3414  3414 F DEBUG   :     x12 0000000000000001  x13 000000005d304dec  x14 003a3e5f0180c944  x15 00005c0f1914be81
07-18 13:46:05.111  3414  3414 F DEBUG   :     x16 00000073266e22b8  x17 0000007326603a50  x18 0000000000000010  x19 0000000000000c55
07-18 13:46:05.111  3414  3414 F DEBUG   :     x20 0000000000000c97  x21 000000728cefee78  x22 ffffff80ffffffc8  x23 000000728cefef30
07-18 13:46:05.111  3414  3414 F DEBUG   :     x24 000000728cefee10  x25 000000728cefee50  x26 000000728ceffcc0  x27 0000000000000001
07-18 13:46:05.111  3414  3414 F DEBUG   :     x28 000000728cf001d0  x29 000000728cefed80
07-18 13:46:05.111  3414  3414 F DEBUG   :     sp  000000728cefed40  lr  00000073265f5084  pc  00000073265f50ac
07-18 13:46:05.148  3414  3414 F DEBUG   :
07-18 13:46:05.148  3414  3414 F DEBUG   : backtrace:
07-18 13:46:05.148  3414  3414 F DEBUG   :     #00 pc 00000000000220ac  /system/lib64/libc.so (abort+116)
07-18 13:46:05.148  3414  3414 F DEBUG   :     #01 pc 00000000009a4f18  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (abort_message+236)
07-18 13:46:05.148  3414  3414 F DEBUG   :     #02 pc 00000000009a5088  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (demangling_terminate_handler()+284)
07-18 13:46:05.148  3414  3414 F DEBUG   :     #03 pc 00000000009a20ac  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (std::__terminate(void (*)())+12)
07-18 13:46:05.148  3414  3414 F DEBUG   :     #04 pc 00000000009a17b0  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*)+28)
07-18 13:46:05.148  3414  3414 F DEBUG   :     #05 pc 00000000009a1730  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (__cxa_throw+120)
07-18 13:46:05.148  3414  3414 F DEBUG   :     #06 pc 00000000003f099c  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (hx::Throw(Dynamic)+84)
07-18 13:46:05.148  3414  3414 F DEBUG   :     #07 pc 000000000019fa78  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (nme::display::Stage_obj::onUnhandledException(Dynamic, Array<Dynamic>)+936)
07-18 13:46:05.148  3414  3414 F DEBUG   :     #08 pc 000000000027d530  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (nme::app::IAppEventHandler_obj::onUnhandledException(Dynamic, Dynamic, Array<Dynamic>)+228)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #09 pc 000000000027b7d8  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (nme::app::Window_obj::nmeProcessWindowEvent(Dynamic)+1700)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #10 pc 000000000027d57c  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (nme::app::__Window_objnmeProcessWindowEvent(hx::Object*, Dynamic const&)+60)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #11 pc 0000000000397ffc  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (hx::CMemberFunction1::__run(Dynamic const&)+60)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #12 pc 0000000000378dcc  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (val_call1+120)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #13 pc 00000000006d53a4  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (external_handler_native(nme::Event&, void*)+512)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #14 pc 00000000006cd9ec  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (nme::Stage::HandleEvent(nme::Event&)+2088)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #15 pc 00000000004116ac  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (nme::AndroidStage::OnTouch(int, double, double, int, float, float)+680)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #16 pc 00000000004113b0  /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (Java_org_haxe_nme_NME_onTouch+156)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #17 pc 000000000055dfe0  /system/lib64/libart.so (art_quick_generic_jni_trampoline+144)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #18 pc 000000000055524c  /system/lib64/libart.so (art_quick_invoke_static_stub+604)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #19 pc 00000000000cf6e8  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #20 pc 000000000027f230  /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
07-18 13:46:05.149  3414  3414 F DEBUG   :     #21 pc 000000000027a364  /system/lib64/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+748)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #22 pc 0000000000527450  /system/lib64/libart.so (MterpInvokeStaticRange+148)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #23 pc 0000000000547b14  /system/lib64/libart.so (ExecuteMterpImpl+15380)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #24 pc 0000000000104cc4  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/base.apk (deleted) (org.haxe.nme.MainView$6.run+28)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #25 pc 0000000000252f48  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1997279576+488)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #26 pc 0000000000258a3c  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #27 pc 0000000000279228  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #28 pc 00000000005256b8  /system/lib64/libart.so (MterpInvokeInterface+1392)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #29 pc 0000000000547894  /system/lib64/libart.so (ExecuteMterpImpl+14740)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #30 pc 0000000000af3dfa  /system/framework/boot-framework.vdex (android.opengl.GLSurfaceView$GLThread.guardedRun+670)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #31 pc 0000000000252f48  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1997279576+488)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #32 pc 0000000000258a3c  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #33 pc 0000000000279228  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #34 pc 0000000000525a7c  /system/lib64/libart.so (MterpInvokeDirect+296)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #35 pc 0000000000547794  /system/lib64/libart.so (ExecuteMterpImpl+14484)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #36 pc 0000000000af452c  /system/framework/boot-framework.vdex (android.opengl.GLSurfaceView$GLThread.run+48)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #37 pc 0000000000252f48  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1997279576+488)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #38 pc 0000000000514ff0  /system/lib64/libart.so (artQuickToInterpreterBridge+1020)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #39 pc 000000000055e0fc  /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #40 pc 0000000000554f88  /system/lib64/libart.so (art_quick_invoke_stub+584)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #41 pc 00000000000cf6c8  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #42 pc 000000000045c8a4  /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #43 pc 000000000045d960  /system/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+424)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #44 pc 00000000004887f4  /system/lib64/libart.so (art::Thread::CreateCallback(void*)+1120)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #45 pc 00000000000920a8  /system/lib64/libc.so (__pthread_start(void*)+36)
07-18 13:46:05.150  3414  3414 F DEBUG   :     #46 pc 0000000000023968  /system/lib64/libc.so (__start_thread+68)
07-18 13:46:05.278  2241  2451 I MobileSignalController: mCurrentState.dataConnected--> false mCurrentState.connected--> true mDataState--> 0 mMMSDataState--> DISCONNECTED
07-18 13:46:05.340  1510  2138 D CompatibilityInfo: mCompatibilityFlags - 0
07-18 13:46:05.341  1510  2138 D CompatibilityInfo: applicationDensity - 480
07-18 13:46:05.341  1510  2138 D CompatibilityInfo: applicationScale - 1.0
07-18 13:46:05.356  1510  1510 D CompatibilityInfo: mCompatibilityFlags - 0
07-18 13:46:05.356  1510  1510 D CompatibilityInfo: applicationDensity - 480
07-18 13:46:05.356  1510  1510 D CompatibilityInfo: applicationScale - 1.0
07-18 13:46:05.366 24404 24404 I Finsky  : [2] com.google.android.finsky.scheduler.JobSchedulerEngine$PhoneskyJobSchedulerJobService.onStartJob(3): onJobSchedulerWakeup with jobId 9001
07-18 13:46:05.371 30772  3418 I Authzen : [DeviceStateSyncManager] The server is in sync with current state. Nothing to do
07-18 13:46:05.371 24404 24404 I Finsky  : [2] qrl.a(22): Scheduling fallback job with id: 9034, and delay: 43200000 ms
07-18 13:46:05.375 24404 24404 I Finsky  : [2] qrl.a(5): Scheduling fallback in 64799998 (absolute: 574897725)
07-18 13:46:05.428 24404 24404 I Finsky  : [2] qrv.handleMessage(10): DeviceState: DeviceState{currentTime=1563446765425, isCharging=true, isIdle=false, netAny=true, netNotRoaming=true, netUnmetered=true}
07-18 13:46:05.437 24404  2769 I Finsky  : [2773] qtj.b(7): Jobs in database: 1-1337 10-1 10-3 10-4 10-6 10-7 10-8 10-10 10-11 10-12 10-14 10-15 10-16 10-18 10-20 10-22 10-24 10-25 10-26 10-27 10-28 10-29 10-30 10-31 10-33 10-35 10-38 10-39 10-40 10-41 10-42 10-44 10-46 10-47 10-48 10-50 10-54 10-55 10-57 10-61 12-1 26-1414141414
07-18 13:46:05.441 24404 24404 I Finsky  : [2] qro.a(22): Running job: 12-1
07-18 13:46:05.442 24404 24404 I Finsky  : [2] com.google.android.finsky.contentsync.ContentSyncJob.a(22): ContentSyncJob started
07-18 13:46:05.442 24404 24404 I Finsky  : [2] qrv.handleMessage(84): RunningQueue size: 1, PendingQueue size: 0
07-18 13:46:05.443 24404 24404 I Finsky  : [2] qrv.handleMessage(93): Running queue: 12-1
07-18 13:46:05.530 24404  3419 I Finsky  : [2777] edz.a(17): Completed 0 account content syncs with 0 successful.
07-18 13:46:05.531 24404 24404 I Finsky  : [2] com.google.android.finsky.contentsync.ContentSyncJob.a(20): Installation state replication succeeded.
07-18 13:46:05.531 24404 24404 I Finsky  : [2] qtc.a(9): jobFinished: 12-1. TimeElapsed: 90ms
07-18 13:46:05.531 24404 24404 I Finsky  : [2] qro.c(3): Job 12-1 finished
07-18 13:46:05.532 24404 24404 I Finsky  : [2] qrv.handleMessage(84): RunningQueue size: 0, PendingQueue size: 0
07-18 13:46:05.534 24404 24404 I Finsky  : [2] qrv.handleMessage(27): Executor finished
07-18 13:46:05.555 24404 24404 I Finsky  : [2] qtj.b(7): Jobs in database: 1-1337 10-1 10-3 10-4 10-6 10-7 10-8 10-10 10-11 10-12 10-14 10-15 10-16 10-18 10-20 10-22 10-24 10-25 10-26 10-27 10-28 10-29 10-30 10-31 10-33 10-35 10-38 10-39 10-40 10-41 10-42 10-44 10-46 10-47 10-48 10-50 10-54 10-55 10-57 10-61 26-1414141414
07-18 13:46:05.557 24404 24404 I Finsky  : [2] qqq.a(113): ConstraintMapping: 1-1337, 10-1, 10-3, 10-4, 10-6, 10-7, 10-8, 10-10, 10-11, 10-12, 10-14, 10-15, 10-16, 10-18, 10-20, 10-22, 10-24, 10-25, 10-26, 10-27, 10-28, 10-29, 10-30, 10-31, 10-33, 10-35, 10-38, 10-39, 10-40, 10-41, 10-42, 10-44, 10-46, 10-47, 10-48, 10-50, 10-54, 10-55, 10-57, 10-61,  -> L: 35128641ms, D: 78328641ms, C: false, I: false, N: 1
07-18 13:46:05.560 24404 24404 I Finsky  : [2] qqq.a(113): ConstraintMapping: 26-1414141414,  -> L: 27755199ms, D: 28655199ms, C: false, I: false, N: 0
07-18 13:46:05.561 24404 24404 I Finsky  : [2] com.google.android.finsky.scheduler.JobSchedulerEngine.a(42): Cancelling existing job with id: 9002
07-18 13:46:05.564 24404 24404 I Finsky  : [2] com.google.android.finsky.scheduler.JobSchedulerEngine.a(4): Scheduling job Id: 9000, L: 35128641, D: 78328641, C: false, I: false, N: 1
07-18 13:46:05.566 24404 24404 I Finsky  : [2] com.google.android.finsky.scheduler.JobSchedulerEngine.a(4): Scheduling job Id: 9003, L: 27755199, D: 28655199, C: false, I: false, N: 0
07-18 13:46:05.592  1006  1006 E /system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_06
07-18 13:46:05.593  1510  3420 W ActivityManager:   Force finishing activity org.openfl.samples.bunnymark/.MainActivity
07-18 13:46:05.595  1510  3420 D ActivityTrigger: ActivityTrigger activityPauseTrigger
07-18 13:46:05.600  3157  3157 D GameActivity: ====== doPause ========
07-18 13:46:05.601  3157  3157 V NME     : onPause

When i run ndl-stack againist it i get following result:

********** Crash dump: **********
Build fingerprint: 'xiaomi/jasmine/jasmine_sprout:9/PKQ1.180904.001/V10.0.10.0.PDIMIXM:user/release-keys'
Abort message: 'terminating with uncaught exception of type Dynamic'
#00 0x00000000000220ac /system/lib64/libc.so (abort+116)
#01 0x00000000009a4f18 /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (abort_message+236)
                                                                                                                        abort_message
                                                                                                                        /usr/local/google/buildbot/src/android/ndk-release-r20/external/libcxx/../../external/libcxxabi/src\abort_message.cpp:77:5
#02 0x00000000009a5088 /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (demangling_terminate_handler()+284)
                                                                                                                        demangling_terminate_handler()
                                                                                                                        /usr/local/google/buildbot/src/android/ndk-release-r20/external/libcxx/../../external/libcxxabi/src\cxa_default_handlers.cpp:67:21
#03 0x00000000009a20ac /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (std::__terminate(void (*)())+12)
                                                                                                                        std::__terminate(void (*)())
                                                                                                                        /usr/local/google/buildbot/src/android/ndk-release-r20/external/libcxx/../../external/libcxxabi/src\cxa_handlers.cpp:60:9
#04 0x00000000009a17b0 /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*)+28)
                                                                                                                        __cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*)
                                                                                                                        /usr/local/google/buildbot/src/android/ndk-release-r20/external/libcxx/../../external/libcxxabi/src\cxa_exception.cpp:153:5
#05 0x00000000009a1730 /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (__cxa_throw+120)
                                                                                                                        __cxa_throw
                                                                                                                        /usr/local/google/buildbot/src/android/ndk-release-r20/external/libcxx/../../external/libcxxabi/src\cxa_exception.cpp:285:5
#06 0x00000000003f099c /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (hx::Throw(Dynamic)+84)
                                                                                                                        hx::Throw(Dynamic)
                                                                                                                        C:/HaxeToolkit/haxe/lib/hxcpp/git/src/hx\StdLibs.cpp:66:4
#07 0x000000000019fa78 /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (nme::display::Stage_obj::onUnhandledException(Dynamic, Array<Dynamic>)+936)
                                                                                                                        nme::display::Stage_obj::onUnhandledException(Dynamic, Array<Dynamic>)
                                                                                                                        E:\CharmDevKit\BunnyMark\Export\android\haxe\cpp\./src/nme/display\Stage.cpp:775:16
#08 0x000000000027d530 /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (nme::app::IAppEventHandler_obj::onUnhandledException(Dynamic, Dynamic, Array<Dynamic>)+228)
                                                                                                                        nme::app::IAppEventHandler_obj::onUnhandledException(Dynamic, Dynamic, Array<Dynamic>)
                                                                                                                        E:\CharmDevKit\BunnyMark\Export\android\haxe\cpp\include\nme/app\IAppEventHandler.h:91:4
#09 0x000000000027b7d8 /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (nme::app::Window_obj::nmeProcessWindowEvent(Dynamic)+1700)
                                                                                                                        nme::app::Window_obj::nmeProcessWindowEvent(Dynamic)
                                                                                                                        E:\CharmDevKit\BunnyMark\Export\android\haxe\cpp\./src/nme/app\Window.cpp:365:17
#10 0x000000000027d57c /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (nme::app::__Window_objnmeProcessWindowEvent(hx::Object*, Dynamic const&)+60)
                                                                                                                        nme::app::__Window_objnmeProcessWindowEvent(hx::Object*, Dynamic const&)
                                                                                                                        E:\CharmDevKit\BunnyMark\Export\android\haxe\cpp\./src/nme/app\Window.cpp:374:1
#11 0x0000000000397ffc /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (hx::CMemberFunction1::__run(Dynamic const&)+60)
                                                                                                                        hx::CMemberFunction1::__run(Dynamic const&)
                                                                                                                        C:/HaxeToolkit/haxe/lib/hxcpp/git/include\hx\DynamicImpl.h:151:14
#12 0x0000000000378dcc /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (val_call1+120)
                                                                                                                        val_call1
                                                                                                                        C:/HaxeToolkit/haxe/lib/hxcpp/git/src/hx\CFFI.cpp:708:17
#13 0x00000000006d53a4 /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (external_handler_native(nme::Event&, void*)+512)
                                                                                                                        external_handler_native(nme::Event&, void*)
                                                                                                                        E:/CharmDevKit/nme/project/src/common\ExternalInterface.cpp:1479:4
#14 0x00000000006cd9ec /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (nme::Stage::HandleEvent(nme::Event&)+2088)
                                                                                                                        nme::Stage::HandleEvent(nme::Event&)
                                                                                                                        E:/CharmDevKit/nme/project/src/common\Stage.cpp:273:7
#15 0x00000000004116ac /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (nme::AndroidStage::OnTouch(int, double, double, int, float, float)+680)
                                                                                                                        nme::AndroidStage::OnTouch(int, double, double, int, float, float)
                                                                                                                        E:/CharmDevKit/nme/project/src/android\AndroidFrame.cpp:435:16
#16 0x00000000004113b0 /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/lib/arm64/libApplicationMain.so (Java_org_haxe_nme_NME_onTouch+156)
                                                                                                                        Java_org_haxe_nme_NME_onTouch
                                                                                                                        E:/CharmDevKit/nme/project/src/android\AndroidFrame.cpp:864:20
#17 0x000000000055dfe0 /system/lib64/libart.so (art_quick_generic_jni_trampoline+144)
#18 0x000000000055524c /system/lib64/libart.so (art_quick_invoke_static_stub+604)
#19 0x00000000000cf6e8 /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
#20 0x000000000027f230 /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
#21 0x000000000027a364 /system/lib64/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+748)
#22 0x0000000000527450 /system/lib64/libart.so (MterpInvokeStaticRange+148)
#23 0x0000000000547b14 /system/lib64/libart.so (ExecuteMterpImpl+15380)
#24 0x0000000000104cc4 /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/org.openfl.samples.bunnymark-L9VYxbEXULowLmko6FT-xg==/base.apk (deleted) (org.haxe.nme.MainView$6.run+28)
#25 0x0000000000252f48 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1997279576+488)
#26 0x0000000000258a3c /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#27 0x0000000000279228 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#28 0x00000000005256b8 /system/lib64/libart.so (MterpInvokeInterface+1392)
#29 0x0000000000547894 /system/lib64/libart.so (ExecuteMterpImpl+14740)
#30 0x0000000000af3dfa /system/framework/boot-framework.vdex (android.opengl.GLSurfaceView$GLThread.guardedRun+670)
#31 0x0000000000252f48 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1997279576+488)
#32 0x0000000000258a3c /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#33 0x0000000000279228 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#34 0x0000000000525a7c /system/lib64/libart.so (MterpInvokeDirect+296)
#35 0x0000000000547794 /system/lib64/libart.so (ExecuteMterpImpl+14484)
#36 0x0000000000af452c /system/framework/boot-framework.vdex (android.opengl.GLSurfaceView$GLThread.run+48)
#37 0x0000000000252f48 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1997279576+488)
#38 0x0000000000514ff0 /system/lib64/libart.so (artQuickToInterpreterBridge+1020)
#39 0x000000000055e0fc /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
#40 0x0000000000554f88 /system/lib64/libart.so (art_quick_invoke_stub+584)
#41 0x00000000000cf6c8 /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
#42 0x000000000045c8a4 /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
#43 0x000000000045d960 /system/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+424)
#44 0x00000000004887f4 /system/lib64/libart.so (art::Thread::CreateCallback(void*)+1120)
#45 0x00000000000920a8 /system/lib64/libc.so (__pthread_start(void*)+36)
#46 0x0000000000023968 /system/lib64/libc.so (__start_thread+68)
Crash dump is completed

As you could see it shows me that crash appeared somewhere in the code called by onTouch, but it doesn't tells me that it is caused by the code in my Main class.

I'm asking for advice on how i should compile my app to be able to decode crash logs on Android targets. Maybe there is something that i'm missing or there is another way?

I'm using Haxe 3.4.7, git versions of nme and hxcpp (pulled recent changes yesterday, on 16th of May) to be able to compile project with Android NDK 20

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant