Objectbox-java: Native crash when profiling the app with Android Studio 3.2 canary

Created on 14 Jun 2018  路  17Comments  路  Source: objectbox/objectbox-java

Issue Basics

  • ObjectBox version (are using the latest version?): 1.5.0
  • Reproducibility: always

Reproducing the bug

Description

Launch the app in profiling mode in latest AS 3.2 canary.

Logs & stackstraces

2018-06-14 12:09:18.371 11937-11984/A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x1f in tid 11984 (RxCachedThreadS)
2018-06-14 12:09:18.429 12301-12301/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2018-06-14 12:09:18.429 12301-12301/? A/DEBUG: Build fingerprint: 'samsung/starltexx/starlte:8.0.0/R16NW/G960FXXU1ARD4:user/release-keys'
2018-06-14 12:09:18.429 12301-12301/? A/DEBUG: Revision: '26'
2018-06-14 12:09:18.429 12301-12301/? A/DEBUG: ABI: 'arm'
2018-06-14 12:09:18.429 12301-12301/? A/DEBUG: pid: 11937, tid: 11984, name: RxCachedThreadS 
2018-06-14 12:09:18.429 12301-12301/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1f
2018-06-14 12:09:18.429 12301-12301/? A/DEBUG: Cause: null pointer dereference
2018-06-14 12:09:18.429 12301-12301/? A/DEBUG:     r0 c80f1080  r1 ffffffff  r2 00000013  r3 c8a53948
2018-06-14 12:09:18.429 12301-12301/? A/DEBUG:     r4 c80f1028  r5 c80f1080  r6 00000000  r7 c80f0fd0
2018-06-14 12:09:18.429 12301-12301/? A/DEBUG:     r8 00000008  r9 c8a927e7  sl 00000001  fp 00000000
2018-06-14 12:09:18.429 12301-12301/? A/DEBUG:     ip c8af0b7c  sp c80f0fd0  lr c8ac6a33  pc c8ac6c0c  cpsr 80070030
2018-06-14 12:09:18.430 4406-4406/? E/audit: type=1400 audit(1528967358.426:5297): avc:  denied  { search } for  pid=12301 comm="crash_dump32" name="" dev="dm-3" ino=590481 scontext=u:r:crash_dump:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0 SEPF_SM-G960F_8.0.0_0001 audit_filtered
2018-06-14 12:09:18.430 4406-4406/? E/audit: type=1300 audit(1528967358.426:5297): arch=40000028 syscall=322 per=8 success=no exit=-13 a0=ffffff9c a1=e77c3620 a2=20000 a3=0 items=0 ppid=1 pid=12301 auid=4294967295 uid=10254 gid=10254 euid=10254 suid=10254 fsuid=10254 egid=10254 sgid=10254 fsgid=10254 tty=(none) ses=4294967295 comm="crash_dump32" exe="/system/bin/crash_dump32" subj=u:r:crash_dump:s0:c512,c768 key=(null)
2018-06-14 12:09:18.430 4406-4406/? E/audit: type=1327 audit(1528967358.426:5297): proctitle=63726173685F64756D703332003131393834003132323939
2018-06-14 12:09:18.431 12301-12301/? A/DEBUG: backtrace:
2018-06-14 12:09:18.431 12301-12301/? A/DEBUG:     #00 pc 00084c0c  /data/app/-tsII1NBO7czYaOApnkUgzw==/lib/arm/libobjectbox.so
2018-06-14 12:09:18.431 12301-12301/? A/DEBUG:     #01 pc 00084a2f  /data/app/-tsII1NBO7czYaOApnkUgzw==/lib/arm/libobjectbox.so
2018-06-14 12:09:18.431 12301-12301/? A/DEBUG:     #02 pc 0006ea47  /data/app-tsII1NBO7czYaOApnkUgzw==/lib/arm/libobjectbox.so (__gxx_personality_v0+330)
2018-06-14 12:09:18.431 12301-12301/? A/DEBUG:     #03 pc 0014cc8c  /data/data/libperfa_arm.so
2018-06-14 12:09:18.431 12301-12301/? A/DEBUG:     #04 pc 0014d5b0  /data/data/libperfa_arm.so
more info required

Most helpful comment

Me too, the same problem happened.

I have not used objectbox in my case, maybe it's the bug of android native code profiler?

All 17 comments

Launch the app in profiling mode in latest AS 3.2 canary.

Does one of those "cause" the crash (profiling mode, AS 3.2)?

@greenrobot working in canary 3.2 without profiling is fine. But as soon as the app is launched in profiling mode it crashes.

Might also be a problem with the profiler (it's a canary version after all). Maybe we wait for one more release and investigate then?

Sure. I will update this issue with each Canary release.

Hey, if you have the time, could you provoke the crash using ObjectBox 2.0.0-beta2 and post the crash log again?

@greenrobot
Hi, greenrobot team, I am facing this problem too.

Environment

ObjectBox version 2.0.0
Android 8.0 Nexus 6 Plus / Android 9.0 Pixel 2 XL
Android Studio 3.2 beta 5

compileSdkVersion = "27"
targetSdkVersion = "27"
buildToolsVersion = "27.0.3"

Crash log from tombstones

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Android/aosp_angler/angler:8.0.0/OPR5.170623.007/zhutao07151601:userdebug/test-keys'
Revision: '0'
ABI: 'arm'
pid: 7521, tid: 7521, name: packagename  >>> packagename <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1f
Cause: null pointer dereference
    r0 ffe72080  r1 ffffffff  r2 0000001b  r3 cf2915c4
    r4 ffe72028  r5 ffe72080  r6 00000000  r7 ffe71fd0
    r8 ecb6d4f5  r9 cf29369f  sl 00000001  fp 00000000
    ip cf33db78  sp ffe71fd0  lr cf30ddaf  pc cf30df82  cpsr 80070030
    d0  42614d0ebccae000  d1  41bb4d3257000000
    d2  41cdcd6500000000  d3  ece8ad8000000001
    d4  000003b1ffe72570  d5  ece8abb3ffe72634
    d6  0000105500000001  d7  ffe7262cd1512268
    d8  0000000000000000  d9  0000000000000000
    d10 0000000000000000  d11 0000000000000000
    d12 0000000000000000  d13 0000000000000000
    d14 0000000000000000  d15 0000000000000000
    d16 0000000000000000  d17 0000000000000000
    d18 13858aa013858b10  d19 00000000c8534dd0
    d20 ffffffffffffffff  d21 ffffffff00000000
    d22 0000000000000000  d23 0000000000000000
    d24 000000f9000000f9  d25 ffffffcbffffffcb
    d26 0000000000000000  d27 0000000000000000
    d28 0000000000000000  d29 0000000000000000
    d30 000000000009120c  d31 0000000000000000
    scr 80000013

backtrace:
    #00 pc 0008df82  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so
    #01 pc 0008ddab  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so
    #02 pc 000785f7  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so (__gxx_personality_v0+330)
    #03 pc 0014cc8c  /data/data/com.immomo.wowo.dev/libperfa_arm.so
    #04 pc 0014d5b0  /data/data/com.immomo.wowo.dev/libperfa_arm.so

stack:
         ffe71f90  43948eb2  /dev/ashmem/dalvik-main space (region space) (deleted)
         ffe71f94  000000ac
         ffe71f98  ffe72080
         ffe71f9c  00000000
         ffe71fa0  ffe71ff4
         ffe71fa4  ffe72398
         ffe71fa8  ffe71fbc
         ffe71fac  bf8d69cc  /data/data/com.immomo.wowo.dev/libperfa_arm.so
         ffe71fb0  ffe71fbc
         ffe71fb4  00000000
         ffe71fb8  00000000
         ffe71fbc  cf29369f  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so
         ffe71fc0  722c5016  /system/framework/arm/boot-framework.oat (org.apache.http.params.HttpConnectionParams.setTcpNoDelay+141)
         ffe71fc4  00000000
         ffe71fc8  ffe72028
         ffe71fcc  ffe72028
    #00  ffe71fd0  ffe72020
         ........  ........
    #01  ffe71fd0  ffe72020
         ffe71fd4  cf2f85fb  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so (__gxx_personality_v0+334)
    #02  ffe71fd8  cf29369d  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so
         ffe71fdc  f087c000  /system/bin/linker
         ffe71fe0  cf311cc8  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so
         ffe71fe4  cf293664  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so
         ffe71fe8  cf29369d  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so
         ffe71fec  ffe72028
         ffe71ff0  cf29369d  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so
         ffe71ff4  ffe72028
         ffe71ff8  bf7d9a15  /data/data/com.immomo.wowo.dev/libperfa_arm.so
         ffe71ffc  ffe722c4
         ffe72000  cf29369f  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so
         ffe72004  43948eb2  /dev/ashmem/dalvik-main space (region space) (deleted)
         ffe72008  ffe722c4
         ffe7200c  cf29369f  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so
         ffe72010  00000001
         ffe72014  ffe72080
         ........  ........
    #03  ffe72028  0000001b
         ffe7202c  ecb6d4f5  /system/lib/libart.so (_ZN3artL16FindOatMethodForEPNS_9ArtMethodENS_11PointerSizeEPb+164)
         ffe72030  721a77b1  /system/framework/arm/boot-framework.oat (com.android.internal.os.ZygoteInit.main)
         ffe72034  00000000
         ffe72038  cf2915c4  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so
         ffe7203c  000004f8
         ffe72040  00000000
         ffe72044  000001cc
         ffe72048  00000019
         ffe7204c  00000024
         ffe72050  00000034
         ffe72054  000001e5
         ffe72058  231d140b  /dev/ashmem/dalvik-main space (region space) (deleted)
         ffe7205c  ecf12d28  [anon:libc_malloc]
         ffe72060  0000005c
         ffe72064  000010c8
         ........  ........
    #04  ffe72278  00000000
         ffe7227c  00000000
         ffe72280  bf7d9a15  /data/data/com.immomo.wowo.dev/libperfa_arm.so
         ffe72284  ffe722c4
         ffe72288  00000000
         ffe7228c  f058361c  [anon:libc_malloc]
         ffe72290  ffe72304
         ffe72294  ffe722c4
         ffe72298  00000000
         ffe7229c  ffe722e8
         ffe722a0  ffe72330
         ffe722a4  cf29369f  /data/app/com.immomo.wowo.dev-IkVu-LY-iqpSua7pDjyN2Q==/lib/arm/libobjectbox.so
         ffe722a8  00000001
         ffe722ac  00000000
         ffe722b0  bf932a88  /data/data/com.immomo.wowo.dev/libperfa_arm.so
         ffe722b4  ffe722c0

memory near r0:
    ffe72060 0000005c 000010c8 0000000c 0000001d  \...............
    ffe72070 cf293664 cf3178fc 00000000 00002250  d6)..x1.....P"..
    ffe72080 ffffffff bf7d9a15 ffe722c4 00000000  ......}.."......
    ffe72090 f058361c c8534df0 ffe72430 f05b1310  .6X..MS.0$....[.
    ffe720a0 ffe723e8 00000056 ecf04000 ffe72430  .#[email protected]$..
    ffe720b0 ecf04000 ffe72028 ffe723b0 cf29369f  .@..( ...#...6).
    ffe720c0 cf29369f ffe721fc 6fe9009c ecea0045  .6)..!.....oE...
    ffe720d0 00000006 bf99f8ad 6fe9009c ffe72140  ...........o@!..
    ffe720e0 000000c8 00000000 00000010 00000000  ................
    ffe720f0 ecea0045 00000006 0000001b ece07ad3  E............z..
    ffe72100 00000000 00000000 ffe721a4 ecef596c  .........!..lY..
    ffe72110 ffe721c1 ffe721b1 00000000 00000000  .!...!..........
    ffe72120 ecea0045 00000000 ffe74d60 ecd216a9  E.......`M......
    ffe72130 721a815d ffe72168 000009ac ecdb613b  ]..rh!......;a..
    ffe72140 712e155f 000004f8 ffe721f8 00000090  _..q.....!......
    ffe72150 00004de0 00000000 00000024 00000034  .M......$...4...

Hope this helps.

I could not reproduce with Android Studio 3.2 beta 5 and one of our apps. Maybe the crash occurs only with some apps?

Thanks for the updated crash log. Unfortunately, ndk-stack did not produce a reasonable stack to see what's going on.

The direct caller of the ObjectBox native code seems to be libperfa_arm.so - not sure what it is doing maybe another direction we could investigate (e.g. source).

Hi,
I face this problem too on version 3.2 stable
phone: Pixel 1 with android 9 (I didn't face this problem on lg with android 7.0 )
I'm working on Map based application. we use mapbox library and mapbox is using lots of native code: when I'm debugging my app with profiler I get below error in logcat:

2018-10-01 16:56:38.313 9090-9090/ir.balad.stageTest A/libc: Fatal signal 11 (SIGSEGV), code 1 
2018-10-01 16:56:38.403 9349-9349/? I/crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
2018-10-01 16:56:38.407 811-811/? I//system/bin/tombstoned: received crash request for pid 9090
2018-10-01 16:56:38.416 9349-9349/? I/crash_dump32: performing dump of process 9090 (target tid = 9090)
(SEGV_MAPERR), fault addr 0x1f in tid 9090 (balad.stageTest), pid 9090 (balad.stageTest)
2018-10-01 16:56:38.435 9349-9349/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2018-10-01 16:56:38.435 9349-9349/? A/DEBUG: Build fingerprint: 'google/sailfish/sailfish:9/PPR2.180905.006/4945130:user/release-keys'
2018-10-01 16:56:38.435 9349-9349/? A/DEBUG: Revision: '0'
2018-10-01 16:56:38.435 9349-9349/? A/DEBUG: ABI: 'arm'
2018-10-01 16:56:38.435 9349-9349/? A/DEBUG: pid: 9090, tid: 9090, name: balad.stageTest  >>> ir.balad.stageTest <<<
2018-10-01 16:56:38.435 9349-9349/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1f
2018-10-01 16:56:38.435 9349-9349/? A/DEBUG: Cause: null pointer dereference
2018-10-01 16:56:38.435 9349-9349/? A/DEBUG:     r0  ffa0a280  r1  ffffffff  r2  cdbfa690  r3  cec0c391
2018-10-01 16:56:38.435 9349-9349/? A/DEBUG:     r4  ffa0a228  r5  ffa0a280  r6  cdbfa600  r7  ffa0a1d0
2018-10-01 16:56:38.435 9349-9349/? A/DEBUG:     r8  e9790000  r9  ce92ec75  r10 00000001  r11 00000000
2018-10-01 16:56:38.435 9349-9349/? A/DEBUG:     ip  cdb6fa80  sp  ffa0a1d0  lr  cec217e7  pc  cec219ba
2018-10-01 16:56:38.438 9349-9349/? I/unwind: Malformed section header found, ignoring...
2018-10-01 16:56:38.438 9349-9349/? A/DEBUG: backtrace:
2018-10-01 16:56:38.438 9349-9349/? A/DEBUG:     #00 pc 003109ba  /data/app/ir.balad.stageTest-qrRaONODTg1bHJjuqKyUYg==/lib/arm/libmapbox-gl.so
2018-10-01 16:56:38.439 9349-9349/? A/DEBUG:     #01 pc 003107e3  /data/app/ir.balad.stageTest-qrRaONODTg1bHJjuqKyUYg==/lib/arm/libmapbox-gl.so
2018-10-01 16:56:38.439 9349-9349/? A/DEBUG:     #02 pc 002fb4db  /data/app/ir.balad.stageTest-qrRaONODTg1bHJjuqKyUYg==/lib/arm/libmapbox-gl.so
2018-10-01 16:56:38.439 9349-9349/? A/DEBUG:     #03 pc 0014cc8c  /data/data/ir.balad.stageTest/libperfa_arm.so
2018-10-01 16:56:38.439 9349-9349/? A/DEBUG:     #04 pc 0014d5b0  /data/data/ir.balad.stageTest/libperfa_arm.so

@siavashabdoli Interesting, in your case it seems unrelated to ObjectBox.

Hello,

Same problem here, I do not use ObjectBox but I have similar error with Android Studio 3.2 stable only when Profiler is running.. really strange.

EDIT:

Ok in my case, problem was caused by too many File Descriptor open and this happen more often when Android Profiler is running probably because app is much slower and take more time to close these FD.

Me too, the same problem happened.
Once the activity I opened related with objectbox, then the app crashed. But it didn't happen when I opened other activity no relationship with objectbox.

the backtrace followed:

2018-11-15 14:35:27.196 16804-16804/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2018-11-15 14:35:27.200 16331-16811/? E/StudioProfiler: JVMTI error: 15(JVMTI_ERROR_THREAD_NOT_ALIVE) 
2018-11-15 14:35:27.196 16804-16804/? A/DEBUG: Build fingerprint: 'google/sailfish/sailfish:9/PPR2.180905.006/4945130:user/release-keys'
2018-11-15 14:35:27.200 16804-16804/? A/DEBUG: Revision: '0'
2018-11-15 14:35:27.201 16804-16804/? A/DEBUG: ABI: 'arm'
2018-11-15 14:35:27.201 16804-16804/? A/DEBUG: pid: 16331, tid: 16800, name: pool-4-thread-1  >>> com.buddy.ark <<<
2018-11-15 14:35:27.201 16804-16804/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1f
2018-11-15 14:35:27.201 16804-16804/? A/DEBUG: Cause: null pointer dereference
2018-11-15 14:35:27.201 16804-16804/? A/DEBUG:     r0  d396bcb0  r1  ffffffff  r2  81ba856b  r3  d2dcf928
2018-11-15 14:35:27.201 16804-16804/? A/DEBUG:     r4  d396bc58  r5  d396bcb0  r6  81ba8500  r7  d396bc00
2018-11-15 14:35:27.201 16804-16804/? A/DEBUG:     r8  d396bce4  r9  d2dd44d7  r10 00000001  r11 00000000
2018-11-15 14:35:27.201 16804-16804/? A/DEBUG:     ip  d2efbff0  sp  d396bc00  lr  d2e8bf3b  pc  d2e8c10e
2018-11-15 14:35:27.203 16804-16804/? I/unwind: Malformed section header found, ignoring...
2018-11-15 14:35:27.204 16804-16804/? A/DEBUG: backtrace:
2018-11-15 14:35:27.204 16804-16804/? A/DEBUG:     #00 pc 000ef10e  /data/app/com.buddy.ark-2DMi3FPqpQSkg6yLXiH9VA==/lib/arm/libobjectbox-jni.so
2018-11-15 14:35:27.204 16804-16804/? A/DEBUG:     #01 pc 000eef37  /data/app/com.buddy.ark-2DMi3FPqpQSkg6yLXiH9VA==/lib/arm/libobjectbox-jni.so
2018-11-15 14:35:27.204 16804-16804/? A/DEBUG:     #02 pc 000d96bf  /data/app/com.buddy.ark-2DMi3FPqpQSkg6yLXiH9VA==/lib/arm/libobjectbox-jni.so (__gxx_personality_v0+330)
2018-11-15 14:35:27.204 16804-16804/? A/DEBUG:     #03 pc 0014cc8c  /data/data/com.buddy.ark/libperfa_arm.so
2018-11-15 14:35:27.204 16804-16804/? A/DEBUG:     #04 pc 0014d5b0  /data/data/com.buddy.ark/libperfa_arm.so
2018-11-15 14:35:27.209 16331-16811/? E/StudioProfiler: JVMTI error: 15(JVMTI_ERROR_THREAD_NOT_ALIVE) 

Tried with clean app, set up with ObjectBox 2.2.0, simple entity and some put/get ops in the main activity on a background thread.

Started app using Profile 'app' using Android Studio 3.2.1 and Android emulator with Android 9.0 x86.

Everything fine.

Also tried with ObjectBox code in a separate activity.

472-Profiling-Crash.zip

Can somebody share an example project which allows us to reproduce this reliably?
-ut

I am getting this crash with objectbox 2.2.0 during normal run also

@Vichy97 Can you please open a separate issue and attach the full crash log (all lines after the *** *** *** line). -ut

My issue turned out to be an issue with updating an entity without following the instructions. Nuking and rebuilding worked for me. Hopefully this can help other people

Me too, the same problem happened.

I have not used objectbox in my case, maybe it's the bug of android native code profiler?

Closing as this does not seem to be ObjectBox related (same happens for other libs). Also cannot reproduce e.g. to mitigate...

Was this page helpful?
0 / 5 - 0 ratings