1

I have spent over a week, adding logs in my code and debugging but have not able to reproduce any crash to identify the cause. So I came here, in hope someone has had experience this crashes before or know what the crash report means.

I have multiple crash report and all of them are "Native crash at /system/lib/libcutils.so" but the backtraces are somewhat identical.

I did notice that most reports have the following

(dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)

and a few have

(dvmCallMethodA(Thread*, Method const*, Object*, bool, JValue*, jvalue const*)+354)

Thank in advance!

1st Report

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Honeywell/helsinki/CT50L0N-CS13S:4.4.4/KTU84P/59.02.02.0025:user/release-keys'
Revision: '0'
pid: 26459, tid: 26459, name: ps.myapp  >>> com.myapp <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 3f800004
    r0 3f800004  r1 3f800001  r2 00000000  r3 3f800004
    r4 6531b4a0  r5 6531b450  r6 00000000  r7 574dfbcc
    r8 bec60038  r9 574dfbc4  sl 414b0938  fp bec6004c
    ip 4058db90  sp bec60028  lr 4046f75f  pc 4008e5d8  cpsr 00070010
    d0  0000000000000000  d1  0000000000000000
    d2  0000000000000000  d3  0000000000000000
    d4  0000000000000000  d5  4014000000000000
    d6  0000000a41200000  d7  3f8000003f800000
    d8  000002ac3f800000  d9  000001913f000000
    d10 0000000042e00000  d11 0000000000000000
    d12 0000000000000000  d13 0000000000000000
    d14 0000000000000000  d15 0000000000000000
    d16 64696f72646e614c  d17 70532f747865742f
    d18 006f00630065006e  d19 0062006f006d002e
    d20 00610065006c0069  d21 002e007300700070
    d22 006e006500760065  d23 0074006500720074
    d24 b94377ce858a5d48  d25 0009000a000a0009
    d26 0000000000000000  d27 0000000000000000
    d28 3ff0000000000000  d29 0000000000000000
    d30 000a000a000a000a  d31 0000000000000000
    scr 68000013

backtrace:
    #00  pc 000035d8  /system/lib/libcutils.so (android_atomic_inc+8)
    #01  pc 000c475b  /system/lib/libskia.so (SkPaint::operator=(SkPaint const&)+42)
    #02  pc 0002034c  /system/lib/libdvm.so (dvmPlatformInvoke+112)
    #03  pc 00050fcf  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
    #04  pc 00000214  /dev/ashmem/dalvik-jit-code-cache (deleted)

2nd Report

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Honeywell/helsinki/CT50L0N-CS13S:4.4.4/KTU84P/59.02.02.0025:user/release-keys'
Revision: '0'
pid: 30873, tid: 30873, name: ps.myapp  >>> com.myapp <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 3f800004
    r0 3f800004  r1 00000000  r2 ffffffff  r3 3f800004
    r4 3f800000  r5 66adc3e8  r6 00000000  r7 574dfbcc
    r8 bec60028  r9 574dfbc4  sl 414b0938  fp bec6003c
    ip 4058db8c  sp bec60010  lr 404494c3  pc 4008e5fc  cpsr 00070010
    d0  0000000000000000  d1  0000000000000000
    d2  0000000000000000  d3  0000000000000000
    d4  0000000000000000  d5  4014000000000000
    d6  0000000a41200000  d7  3f8000003f800000
    d8  3f8000003f800000  d9  4434000044130000
    d10 0000000044440000  d11 0000000000000000
    d12 0000000000000000  d13 0000000000000000
    d14 0000000000000000  d15 0000000000000000
    d16 64696f72646e614c  d17 70532f747865742f
    d18 006f00630065006e  d19 0062006f006d002e
    d20 00610065006c0069  d21 002e007300700070
    d22 006e006500760065  d23 0074006500720074
    d24 3f8fcf331262ca11  d25 0016001500140013
    d26 0000000000000000  d27 0000000000000000
    d28 011e011d011c011b  d29 0120011f011d011e
    d30 0016001600160016  d31 0000000000000000
    scr 68000013

backtrace:
    #00  pc 000035fc  /system/lib/libcutils.so (android_atomic_dec+12)
    #01  pc 0009e4bf  /system/lib/libskia.so (SkPixelRef::globalUnref()+6)
    #02  pc 000c47a9  /system/lib/libskia.so (SkPaint::operator=(SkPaint const&)+120)
    #03  pc 0002034c  /system/lib/libdvm.so (dvmPlatformInvoke+112)
    #04  pc 00050fcf  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
    #05  pc 000297e0  /system/lib/libdvm.so
    #06  pc 00030c6c  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
    #07  pc 0002e304  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
    #08  pc 000632c7  /system/lib/libdvm.so (dvmCallMethodA(Thread*, Method const*, Object*, bool, JValue*, jvalue const*)+354)
    #09  pc 0004eafb  /system/lib/libdvm.so
    #10  pc 00008ed5  /data/app-lib/com.myapp-2/libmonodroid.so (java_interop_jnienv_call_nonvirtual_void_method_a+34)
    #11  pc 00015410  <unknown>

3 Report

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Honeywell/helsinki/CT50L0N-CS13S:4.4.4/KTU84P/59.02.02.0025:user/release-keys'
Revision: '0'
pid: 30873, tid: 30873, name: ps.myapp  >>> com.myapp <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 3f800004
    r0 3f800004  r1 00000000  r2 ffffffff  r3 3f800004
    r4 3f800000  r5 66adc3e8  r6 00000000  r7 574dfbcc
    r8 bec60028  r9 574dfbc4  sl 414b0938  fp bec6003c
    ip 4058db8c  sp bec60010  lr 404494c3  pc 4008e5fc  cpsr 00070010
    d0  0000000000000000  d1  0000000000000000
    d2  0000000000000000  d3  0000000000000000
    d4  0000000000000000  d5  4014000000000000
    d6  0000000a41200000  d7  3f8000003f800000
    d8  3f8000003f800000  d9  4434000044130000
    d10 0000000044440000  d11 0000000000000000
    d12 0000000000000000  d13 0000000000000000
    d14 0000000000000000  d15 0000000000000000
    d16 64696f72646e614c  d17 70532f747865742f
    d18 006f00630065006e  d19 0062006f006d002e
    d20 00610065006c0069  d21 002e007300700070
    d22 006e006500760065  d23 0074006500720074
    d24 3f8fcf331262ca11  d25 0016001500140013
    d26 0000000000000000  d27 0000000000000000
    d28 011e011d011c011b  d29 0120011f011d011e
    d30 0016001600160016  d31 0000000000000000
    scr 68000013

backtrace:
    #00  pc 000035fc  /system/lib/libcutils.so (android_atomic_dec+12)
    #01  pc 0009e4bf  /system/lib/libskia.so (SkPixelRef::globalUnref()+6)
    #02  pc 000c47a9  /system/lib/libskia.so (SkPaint::operator=(SkPaint const&)+120)
    #03  pc 0002034c  /system/lib/libdvm.so (dvmPlatformInvoke+112)
    #04  pc 00050fcf  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
    #05  pc 000297e0  /system/lib/libdvm.so
    #06  pc 00030c6c  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
    #07  pc 0002e304  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
    #08  pc 000632c7  /system/lib/libdvm.so (dvmCallMethodA(Thread*, Method const*, Object*, bool, JValue*, jvalue const*)+354)
    #09  pc 0004eafb  /system/lib/libdvm.so
    #10  pc 00008ed5  /data/app-lib/com.myapp-2/libmonodroid.so (java_interop_jnienv_call_nonvirtual_void_method_a+34)
    #11  pc 00015410  <unknown>
MartDavious
  • 131
  • 11

1 Answers1

0

Android uses Zygote to start app, when When Zygote throw a "signal 11" thats meaning some process access to a forbidden memory zone.

I see SkPixelRef in your report, are you using OpenGL in your project ? If you did, remember that OpenGL work on a thread independent, so, initialize all variables used by OpenGL on constructors to avoid this kind of problem.

I suggest use android_print/Log.Debug to check the zone where the program access and fail.

You could use addr2line to convert the addresses to find more useful information, it's provided with Android-NDK. About the addr2line usage you could refer to :

How to use addr2line in Android

Diana Li
  • 70
  • 9