I’m having a strange problem with Android 1.6
I have an application that has a ListView (found in Activity #1).
The user can click on one of the rows in the ListView and is taken to a 2nd Activity (Activity # 2).
User can then use the back button to go back to the ListView.
The problem is that if the user scrolls down the list after returning from Activity # 2 the application crashes, but doesn’t leave a traditional stack trace.
If I look at LogCat, I see the following show up right before the crash (see below).
The additional strangeness is that when I attach the debugger to try and pinpoint the error, I can’t reproduce the error!
Any thoughts on what LogCat is telling me here? There’s a small section near the end of the log shown below that indicates “debuggerd committing suicide to free the zombie!”, which sounds like a memory leak, but google isn’t giving me much luck with this error.
Thoughts on what to try next?
01-07 13:49:36.234: WARN/UsageStats(1018): Failed to persist new stats
01-07 13:49:37.570: INFO/DEBUG(10977): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-07 13:49:37.570: INFO/DEBUG(10977): Build fingerprint: 'verizon/voles/sholes/sholes:2.0.1/ESD56/20996:user/release-keys'
01-07 13:49:37.570: INFO/DEBUG(10977): pid: 12291, tid: 12292 >>> com.ggggg.dot <<<
01-07 13:49:37.570: INFO/DEBUG(10977): signal 11 (SIGSEGV), fault addr 00000004
01-07 13:49:37.570: INFO/DEBUG(10977): r0 00000004 r1 40024108 r2 00000004 r3 4185dfd4
01-07 13:49:37.570: INFO/DEBUG(10977): r4 00000000 r5 00000000 r6 40024108 r7 4185dfa8
01-07 13:49:37.570: INFO/DEBUG(10977): r8 100ffcf8 r9 4185dfa0 10 4185df8c fp 0013e8f8
01-07 13:49:37.570: INFO/DEBUG(10977): ip ad36c2ec sp 100ffce0 lr ad32995f pc afb04524 cpsr 00000010
01-07 13:49:37.586: DEBUG/dalvikvm(12291): GC freed 2278 objects / 266992 bytes in 99ms
01-07 13:49:37.664: INFO/DEBUG(10977): #00 pc 00004524 /system/lib/libcutils.so
01-07 13:49:37.688: INFO/DEBUG(10977): #01 pc 0002995c /system/lib/libandroid_runtime.so
01-07 13:49:37.688: INFO/DEBUG(10977): #02 pc 00048cf4 /system/lib/libandroid_runtime.so
01-07 13:49:37.688: INFO/DEBUG(10977): #03 pc 0000ecb4 /system/lib/libdvm.so
01-07 13:49:37.688: INFO/DEBUG(10977): #04 pc 000387c4 /system/lib/libdvm.so
01-07 13:49:37.695: INFO/DEBUG(10977): #05 pc 000139b8 /system/lib/libdvm.so
01-07 13:49:37.695: INFO/DEBUG(10977): #06 pc 00019338 /system/lib/libdvm.so
01-07 13:49:37.695: INFO/DEBUG(10977): #07 pc 00018804 /system/lib/libdvm.so
01-07 13:49:37.703: INFO/DEBUG(10977): #08 pc 0004eea0 /system/lib/libdvm.so
01-07 13:49:37.703: INFO/DEBUG(10977): #09 pc 0004eec8 /system/lib/libdvm.so
01-07 13:49:37.703: INFO/DEBUG(10977): #10 pc 00044aaa /system/lib/libdvm.so
01-07 13:49:37.703: INFO/DEBUG(10977): #11 pc 00044b36 /system/lib/libdvm.so
01-07 13:49:37.711: INFO/DEBUG(10977): #12 pc 00044fc0 /system/lib/libdvm.so
01-07 13:49:37.719: INFO/DEBUG(10977): #13 pc 000425c4 /system/lib/libdvm.so
01-07 13:49:37.719: INFO/DEBUG(10977): #14 pc 0000fd74 /system/lib/libc.so
01-07 13:49:37.719: INFO/DEBUG(10977): #15 pc 0000f840 /system/lib/libc.so
01-07 13:49:37.719: INFO/DEBUG(10977): code around pc:
01-07 13:49:37.719: INFO/DEBUG(10977): afb04514 e8bd4010 e12fff1e e92d4010 e1a02000
01-07 13:49:37.719: INFO/DEBUG(10977): afb04524 e5920000 e3e03a0f e28fe004 e2401001
01-07 13:49:37.719: INFO/DEBUG(10977): afb04534 e243f03f 3afffff9 e2810001 e8bd4010
01-07 13:49:37.719: INFO/DEBUG(10977): code around lr:
01-07 13:49:37.719: INFO/DEBUG(10977): ad32994c fffeb07c 00005e20 4604b510 f7f03004
01-07 13:49:37.719: INFO/DEBUG(10977): ad32995c 2801ea4e 6060d104 68436820 47984620
01-07 13:49:37.719: INFO/DEBUG(10977): ad32996c bf00bd10 461eb5f7 f1d24c1a bf380301
01-07 13:49:37.719: INFO/DEBUG(10977): stack:
01-07 13:49:37.719: INFO/DEBUG(10977): 100ffca0 00000000
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffca4 afe0f028 /system/lib/libc.so
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffca8 00000001
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcac 300040ac
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcb0 00000001
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcb4 100ffd28
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcb8 418cd52c /dev/ashmem/dalvik-LinearAlloc (deleted)
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcbc 418cd52c /dev/ashmem/dalvik-LinearAlloc (deleted)
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcc0 000002a4
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcc4 ad061e8d /system/lib/libdvm.so
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcc8 100ffd28
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffccc ad058201 /system/lib/libdvm.so
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcd0 40024108 /dev/ashmem/mspace/dalvik-heap/zygote/0 (deleted)
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcd4 0000000d
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcd8 df002777
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcdc e3a070ad
01-07 13:49:37.727: INFO/DEBUG(10977): #00 100ffce0 00000000
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffce4 ad32995f /system/lib/libandroid_runtime.so
01-07 13:49:37.727: INFO/DEBUG(10977): #01 100ffce8 100ffd18
01-07 13:49:37.727: INFO/DEBUG(10977): 100ffcec ad348cf9 /system/lib/libandroid_runtime.so
01-07 13:49:38.344: INFO/DEBUG(10977): debuggerd committing suicide to free the zombie!
01-07 13:49:38.352: INFO/ActivityManager(1018): Process com.ggggg.dot (pid 12291) has died.
01-07 13:49:38.359: INFO/WindowManager(1018): WIN DEATH: Window{44a51e60 com.ggggg.dot/com.ggggg.dot.Dot paused=false}
01-07 13:49:38.375: WARN/UsageStats(1018): Unexpected resume of com.android.launcher while already resumed in com.ggggg.dot
01-07 13:49:38.383: DEBUG/Zygote(986): Process 12291 terminated by signal (11)
01-07 13:49:38.391: INFO/DEBUG(12309): debuggerd: Nov 25 2009 17:44:54
01-07 13:49:38.406: WARN/InputManagerService(1018): Got RemoteException sending setActive(false) notification to pid 12291 uid 10078
01-07 13:50:06.844: DEBUG/dalvikvm(4885): GC freed 15 objects / 600 bytes in 113ms
you should report native crashes like this at http://code.google.com/p/android/issues/entry (choose the “developer bug report” template). include exactly what you included here, and if you can, please include your app (or the active ingredient thereof) so we can reproduce the crash to find the problem and verify the fix.
as for the strange stack trace, it’s because this is a crash in native code. google developers have the map from those “pc” (program counter) addresses to symbols, so we can work out where in the native code this happened. (Typeface_unref, as it happens, so this seems unlikely to be Droid-specific.)
[the “zombie” referred to is the crashed process. debuggerd is just telling you that it’s not leaving it around for debugging — it’s clearing it away on the assumption you’re a user and just want to get on with your life.]
this particular bug has already been fixed; the fix should be in the first release after 2.1.