Project

General

Profile

Bug #1704

SIGSEV in libcrystax on x86

Added by Andrew Twyman over 2 years ago. Updated over 2 years ago.

Status:
Open
Priority:
High
Category:
libcrystax
Target version:
Start date:
02/16/2017
Due date:
% Done:

0%

Estimated time:
CPU Architecture:
x86
Host OS:
OS X
Toolchain:
gcc-4.9
Android version:
5.0 (android-21), 7.0 (android-24)
CrystaX Version:

Description

For context: I'm giving the CrystaX NDK a try on our cross-platform C++ code at Dropbox, previously built with NDK r11c, GCC 4.9, with GNU STL. I've reported my compile-time issues separately, but worked around them, and added libcrystax.so to our app to get it to load. It runs fine on armv7a on a device (Nexus 7), but on an x86 emulator (API 24). libcrystax itself loads successfully, but the load of my own libdropboxsync which depends on it crashes. There's no useful stack trace info other than stack frames all in libcrystax, which I've pasted below.

The .so I packaged for x86 came directly from sources/crystax/libs/x86/libcrystax.so, which I presume is the right one. Note that we have a custom system for deploying/loading native libraries, which stores the libraries in assets with unique names, and unpacks them before loading them explicitly. (This was built years ago to to work around upgrade problems, in the Android OS, similar to ReLinker which is an open-source solution to a similar problem.) I'm suspicious that the renaming of the library and repackaging could be to blame here, but the fact that everything works fine on ARM using the same system makes that unclear.

Is there anything useful you can gleam from the stack trace here? Note I'm launching from Android Studio 2.2.2, building in debug mode, with minSdkVersion 21 and targetSdkVersion 24. Let me know if I can provide any more info.

02-15 22:56:50.131 3402-3402/? I/com.dropbox.android.util.nativelib.NativeLibraryLoader: Loading /data/user/0/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.134 3418-3439/com.dropbox.android:crash_uploader D/com.dropbox.android.exception.CrashUploaderService: Started the uploader service
02-15 22:56:50.134 3418-3439/com.dropbox.android:crash_uploader D/com.dropbox.android.exception.CrashUploader: Looking for stack traces
02-15 22:56:50.134 3402-3402/? I/com.dropbox.android.util.nativelib.NativeLibraryLoader: Extracting /data/user/0/com.dropbox.android/files/extracted_libs/lib_dbxfileobserver_b492ffd532b8b6365d97439f842c164c3c90fd4e_x86
02-15 22:56:50.137 3418-3439/com.dropbox.android:crash_uploader D/com.dropbox.android.exception.CrashUploader: No stacktraces.
02-15 22:56:50.140 3402-3402/? I/com.dropbox.android.util.nativelib.NativeLibraryLoader: Loading /data/user/0/com.dropbox.android/files/extracted_libs/lib_dbxfileobserver_b492ffd532b8b6365d97439f842c164c3c90fd4e_x86
02-15 22:56:50.147 3402-3402/? I/com.dropbox.android.util.nativelib.NativeLibraryLoader: Extracting /data/user/0/com.dropbox.android/files/extracted_libs/lib_dropboxsync_da96c984fe63861df6a8358482733f65_x86
02-15 22:56:50.304 3402-3402/? I/com.dropbox.android.util.nativelib.NativeLibraryLoader: Loading /data/user/0/com.dropbox.android/files/extracted_libs/lib_dropboxsync_da96c984fe63861df6a8358482733f65_x86
02-15 22:56:50.319 3402-3402/? A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0xbf25dff0 in tid 3402 (dropbox.android)

                                       [ 02-15 22:56:50.320  1214: 1214 W/         ]
                                       debuggerd: handling request: pid=3402 uid=10062 gid=10062 tid=3402
02-15 22:56:50.309 3441-3441/? W/debuggerd: type=1400 audit(0.0:13): avc: denied { search } for name="com.dropbox.android" dev="vdc" ino=21263 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
02-15 22:56:50.309 3441-3441/? W/debuggerd: type=1400 audit(0.0:14): avc: denied { search } for name="com.dropbox.android" dev="vdc" ino=21263 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
02-15 22:56:50.319 3441-3441/? W/debuggerd: type=1400 audit(0.0:15): avc: denied { search } for name="com.dropbox.android" dev="vdc" ino=21263 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
02-15 22:56:50.319 3441-3441/? W/debuggerd: type=1400 audit(0.0:16): avc: denied { search } for name="com.dropbox.android" dev="vdc" ino=21263 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
02-15 22:56:50.376 3441-3441/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-15 22:56:50.376 3441-3441/? A/DEBUG: Build fingerprint: 'Android/sdk_phone_x86/generic_x86:7.0/NYC/3245079:userdebug/test-keys'
02-15 22:56:50.376 3441-3441/? A/DEBUG: Revision: '0'
02-15 22:56:50.376 3441-3441/? A/DEBUG: ABI: 'x86'
02-15 22:56:50.376 3441-3441/? A/DEBUG: pid: 3402, tid: 3402, name: dropbox.android  >>> com.dropbox.android <<<
02-15 22:56:50.377 3441-3441/? A/DEBUG: signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xbf25dff0
02-15 22:56:50.377 3441-3441/? A/DEBUG:     eax 00000000  ebx 8dcd3438  ecx 00000000  edx 00001f80
02-15 22:56:50.377 3441-3441/? A/DEBUG:     esi bf25e004  edi 8da1f2e0
02-15 22:56:50.377 3441-3441/? A/DEBUG:     xcs 00000073  xds 0000007b  xes 0000007b  xfs 0000003b  xss 0000007b
02-15 22:56:50.377 3441-3441/? A/DEBUG:     eip 8dca7746  ebp 8da212e0  esp bf25dff0  flags 00010282
02-15 22:56:50.380 3441-3441/? A/DEBUG: backtrace:
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #00 pc 00087746  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #01 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #02 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #03 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #04 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #05 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #06 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #07 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #08 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #09 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #10 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #11 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #12 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #13 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #14 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #15 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #16 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #17 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #18 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #19 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #20 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #21 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #22 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #23 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #24 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #25 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #26 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #27 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #28 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #29 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #30 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #31 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #32 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #33 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #34 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #35 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #36 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #37 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #38 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #39 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #40 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #41 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #42 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #43 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #44 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #45 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #46 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #47 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #48 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #49 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #50 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #51 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #52 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.380 3441-3441/? A/DEBUG:     #53 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.381 3441-3441/? A/DEBUG:     #54 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.381 3441-3441/? A/DEBUG:     #55 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.381 3441-3441/? A/DEBUG:     #56 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.381 3441-3441/? A/DEBUG:     #57 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.381 3441-3441/? A/DEBUG:     #58 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.381 3441-3441/? A/DEBUG:     #59 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.381 3441-3441/? A/DEBUG:     #60 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.381 3441-3441/? A/DEBUG:     #61 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.381 3441-3441/? A/DEBUG:     #62 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-15 22:56:50.381 3441-3441/? A/DEBUG:     #63 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86

History

#1

Updated by Dmitry Moskalchuk over 2 years ago

  • Category set to libcrystax
  • Assignee set to Dmitry Moskalchuk
  • Priority changed from Normal to High
#2

Updated by Andrew Twyman over 2 years ago

A few updates from further experimentation:

  • I was able to build and run the pybridge sample app (github.com/joaoventura/pybridge) on both device and emulator, so it seems like my basic toolchain is functional.
  • I realized the binary from the sources/ directory isn't identical to the one "installed" in the libs/ dir so I tried putting that one in my assets instead, but the result was the same. I confirmed the binary I used in this second test is identical to the one in the pybridge APK.
  • I realized I was wrong about running a debug build, since it was only my Java in debug mode, not the native build. A debug build had the same behavior, though, and gave a similarly unclear stack trace. It had some slightly different pc addresses, though, so I've pasted it below.
  • With more searching, I came across the APP_LIBCRYSTAX setting for static linking, which is my preference anyway (we link the gnustl library statically too). That still has the same crash on x86, though. I've pasted the stack trace below, though the pc values obviously point into where the crystax runtime has been linked.

So far evidence seems to suggest this isn't a problem with library loading, but is perhaps an issue in some part of the C++ runtime (or our usage of it) which our code is exercising at load time (in static ctors, or JNI_OnLoad) which pybridge doesn't.

Crash with libcrystax.so and debug build:

02-16 17:29:53.596 3372-3372/? A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0xbf202ffc in tid 3372 (dropbox.android)

                                       [ 02-16 17:29:53.597  1214: 1214 W/         ]
                                       debuggerd: handling request: pid=3372 uid=10064 gid=10064 tid=3372
02-16 17:29:53.586 3414-3414/? W/debuggerd: type=1400 audit(0.0:9): avc: denied { search } for name="com.dropbox.android" dev="vdc" ino=21492 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
02-16 17:29:53.586 3414-3414/? W/debuggerd: type=1400 audit(0.0:10): avc: denied { search } for name="com.dropbox.android" dev="vdc" ino=21492 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
02-16 17:29:53.596 3414-3414/? W/debuggerd: type=1400 audit(0.0:11): avc: denied { search } for name="com.dropbox.android" dev="vdc" ino=21492 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
02-16 17:29:53.596 3414-3414/? W/debuggerd: type=1400 audit(0.0:12): avc: denied { search } for name="com.dropbox.android" dev="vdc" ino=21492 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
02-16 17:29:53.656 3414-3414/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-16 17:29:53.656 3414-3414/? A/DEBUG: Build fingerprint: 'Android/sdk_phone_x86/generic_x86:7.0/NYC/3245079:userdebug/test-keys'
02-16 17:29:53.656 3414-3414/? A/DEBUG: Revision: '0'
02-16 17:29:53.656 3414-3414/? A/DEBUG: ABI: 'x86'
02-16 17:29:53.656 3414-3414/? A/DEBUG: pid: 3372, tid: 3372, name: dropbox.android  >>> com.dropbox.android <<<
02-16 17:29:53.656 3414-3414/? A/DEBUG: signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xbf202ffc
02-16 17:29:53.656 3414-3414/? A/DEBUG:     eax bf203034  ebx 99414438  ecx 00000000  edx ffff0000
02-16 17:29:53.656 3414-3414/? A/DEBUG:     esi bf203034  edi 98b40460
02-16 17:29:53.656 3414-3414/? A/DEBUG:     xcs 00000073  xds 0000007b  xes 0000007b  xfs 0000003b  xss 0000007b
02-16 17:29:53.656 3414-3414/? A/DEBUG:     eip 9937ff2e  ebp 98b42460  esp bf202ffc  flags 00010246
02-16 17:29:53.659 3414-3414/? A/DEBUG: backtrace:
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #00 pc 0001ef2e  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #01 pc 0008774d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #02 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #03 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #04 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #05 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #06 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #07 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #08 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #09 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #10 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #11 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #12 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #13 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #14 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #15 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #16 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #17 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #18 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #19 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #20 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #21 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #22 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #23 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #24 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #25 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #26 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #27 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #28 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #29 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #30 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #31 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #32 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #33 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #34 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #35 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #36 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #37 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #38 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.659 3414-3414/? A/DEBUG:     #39 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #40 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #41 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #42 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #43 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #44 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #45 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #46 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #47 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #48 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #49 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #50 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #51 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #52 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #53 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #54 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #55 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #56 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #57 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #58 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #59 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #60 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #61 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #62 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86
02-16 17:29:53.660 3414-3414/? A/DEBUG:     #63 pc 0008775d  /data/data/com.dropbox.android/files/extracted_libs/lib_crystax_100302_x86

Crash with static linking and debug build:

02-16 17:48:26.330 3720-3720/? E/crashes: Breakpad failed to write crash file
02-16 17:48:26.330 3720-3720/? A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0xbf202ffc in tid 3720 (dropbox.android)

                                       [ 02-16 17:48:26.331  1214: 1214 W/         ]
                                       debuggerd: handling request: pid=3720 uid=10065 gid=10065 tid=3720
02-16 17:48:26.326 3744-3744/? W/debuggerd: type=1400 audit(0.0:13): avc: denied { search } for name="com.dropbox.android" dev="vdc" ino=21456 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
02-16 17:48:26.326 3744-3744/? W/debuggerd: type=1400 audit(0.0:14): avc: denied { search } for name="com.dropbox.android" dev="vdc" ino=21456 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
02-16 17:48:26.326 3744-3744/? W/debuggerd: type=1400 audit(0.0:15): avc: denied { search } for name="com.dropbox.android" dev="vdc" ino=21456 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
02-16 17:48:26.388 3744-3744/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-16 17:48:26.388 3744-3744/? A/DEBUG: Build fingerprint: 'Android/sdk_phone_x86/generic_x86:7.0/NYC/3245079:userdebug/test-keys'
02-16 17:48:26.388 3744-3744/? A/DEBUG: Revision: '0'
02-16 17:48:26.388 3744-3744/? A/DEBUG: ABI: 'x86'
02-16 17:48:26.388 3744-3744/? A/DEBUG: pid: 3720, tid: 3720, name: dropbox.android  >>> com.dropbox.android <<<
02-16 17:48:26.388 3744-3744/? A/DEBUG: signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xbf202ffc
02-16 17:48:26.388 3744-3744/? A/DEBUG:     eax bf203034  ebx 98b57dc8  ecx 00000000  edx ffff0000
02-16 17:48:26.388 3744-3744/? A/DEBUG:     esi bf203034  edi 98c179e0
02-16 17:48:26.388 3744-3744/? A/DEBUG:     xcs 00000073  xds 0000007b  xes 0000007b  xfs 0000003b  xss 0000007b
02-16 17:48:26.388 3744-3744/? A/DEBUG:     eip 985adf7e  ebp 98c199e0  esp bf202ffc  flags 00010246
02-16 17:48:26.391 3744-3744/? A/DEBUG: backtrace:
02-16 17:48:26.391 3744-3744/? A/DEBUG:     #00 pc 01495f7e  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.391 3744-3744/? A/DEBUG:     #01 pc 0148ef8d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.391 3744-3744/? A/DEBUG:     #02 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #03 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #04 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #05 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #06 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #07 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #08 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #09 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #10 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #11 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #12 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #13 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #14 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #15 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #16 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #17 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #18 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #19 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #20 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #21 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.392 3744-3744/? A/DEBUG:     #22 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #23 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #24 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #25 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #26 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #27 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #28 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #29 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #30 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #31 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #32 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #33 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #34 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #35 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #36 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #37 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #38 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #39 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #40 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.393 3744-3744/? A/DEBUG:     #41 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #42 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #43 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #44 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #45 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #46 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #47 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #48 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #49 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #50 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #51 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #52 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #53 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #54 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #55 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #56 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #57 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #58 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #59 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #60 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #61 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #62 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86
02-16 17:48:26.394 3744-3744/? A/DEBUG:     #63 pc 0148ef9d  /data/data/com.dropbox.android/files/extracted_libs/lib_dropboxsync_844b6d504e42aeb3bd2a9b52c20b57af_x86

#3

Updated by Dmitry Moskalchuk over 2 years ago

Thank you for reporting this issue. Strictly speaking, it's unclear what exactly cause that, since call stack is not informative, but I suspect it's the same bug as reported previously #1499. However, I can't say that for sure. Additional information is required. First off, please let me know exact version of CrystaX NDK you're using - is it latest 10.3.2 or one of nightly builds? Also, it looks like libcrystax in your examples is always stripped - i.e. doesn't contain debug information, thus debuggerd can't extract function/file names to make call stack more clear. Could you please try to deploy your service with unstripped version of libcrystax.so ($NDK/sources/crystax/libs/x86/libcrystax.so) to device and run it again, just to get more detailed call stack (compare your one with one referred in #1499 to see difference)?

#4

Updated by Andrew Twyman over 2 years ago

I'm using the 10.3.2 release version. I can try a newer build if there's a particular one you'd suggest.

My first stack trace was using the library from the path you mention, before I did more testing and realized I should be using the one "installed" into the libs dir. If that should've been unstripped, then I'm not sure why there weren't any symbols produced by the emulator.

#5

Updated by Dmitry Moskalchuk over 2 years ago

  • CrystaX Version set to 10.3.2
#6

Updated by Dmitry Moskalchuk over 2 years ago

Andrew Twyman wrote:

I'm using the 10.3.2 release version. I can try a newer build if there's a particular one you'd suggest.

Well, then it's something new and is not related to #1499, mentioned above.

My first stack trace was using the library from the path you mention, before I did more testing and realized I should be using the one "installed" into the libs dir. If that should've been unstripped, then I'm not sure why there weren't any symbols produced by the emulator.

To debug that, I need more information - what is device you're running your service? Is this emulator? If yes, which one? What is Android version on that device/emulator? In other words, I need to reproduce that on my side to move further. Ideally, I'd very appreciate for minimal example, reproducing the problem, but I realise that preparing such example might be not easy to do. Anyway, any additional information about environment and/or project would be valuable.

Also, if I got it properly, you're saying that crash happens at moment of library load, isn't? Please confirm. If yes, than I'd try to eliminate first all constructors of global objects (in case of C++ sources) and comment out all functions with "constructor" attribute. If that helps with crash on load, I'd enable back commented out functions step by step, to see which one cause crash.

For nightly builds, you can go to https://dl.crystax.net/builds/, but those builds are more unstable than latest 10.3.2, so I don't think it makes sense practically to try them. However, you can try any of those builds too, if you want. Please note that latest builds has confirmed bug on x86 architecture (#1499) so it makes no sense to try latest builds anyway.

#7

Updated by Andrew Twyman over 2 years ago

Dmitry Moskalchuk wrote:

Andrew Twyman wrote:

My first stack trace was using the library from the path you mention, before I did more testing and realized I should be using the one "installed" into the libs dir. If that should've been unstripped, then I'm not sure why there weren't any symbols produced by the emulator.

To debug that, I need more information - what is device you're running your service? Is this emulator? If yes, which one? What is Android version on that device/emulator? In other words, I need to reproduce that on my side to move further. Ideally, I'd very appreciate for minimal example, reproducing the problem, but I realise that preparing such example might be not easy to do. Anyway, any additional information about environment and/or project would be valuable.

Yes, this is on an x86 emulator. It's the standard emulator from the SDK, with API 24 (Android 7.0). I'm running it on macOS 10.11.6.

Also, if I got it properly, you're saying that crash happens at moment of library load, isn't? Please confirm. If yes, than I'd try to eliminate first all constructors of global objects (in case of C++ sources) and comment out all functions with "constructor" attribute. If that helps with crash on load, I'd enable back commented out functions step by step, to see which one cause crash.

It may not be feasible to narrow this down to a simple example or strip out all the statics, unfortunately. When I can find some time I'll try samples with some of the libraries I suspect might be involved, and I can add some logging to try to confirm what phase of initialization is crashing (static init vs. JNI_OnLoad), but if that doesn't narrow it down I've got a lot of C++ code to comb through, which contains quite a few static variables (we use them for singletons and constants). I could also try a debug version of libcrystax if you want to give me one and see if that produces a better stack trace. I'm going to have limited time for this in the near future, though. This was a Hack Week project for me last week, but can only be a side project for now, unless we decide later to invest more in adopting CrystaX.

Also available in: Atom PDF