views:

461

answers:

2

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
A: 

This is a very low-level exception that indicates a bug in Android itself. Based on the LogCat dump, the bug may be unique to the DROID/Milestone, though I am not certain of that. If you are indeed encountering this bug on a Motorola device, I recommend posting your stack trace on the appropriate MOTODEV message board, as that will be the quickest way to get the issue investigated.

CommonsWare
this was the suspicion i was getting lately, and i've been trying to run via the emulator instead of my droid. thanks.
A: 

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.

Elliott Hughes
For those interested...I eventually figured it out. As EHughes pointed out Typeface_unref was the appropriate clue. I was trying to use a custom font and wound up having a typo when I referenced it. Obviously, Android couldn't "find" the incorrectly referenced font, but it decided to crash at some point long after I referenced the non-existent font.
i've raised a bug for you: http://code.google.com/p/android/issues/detail?id=6030as i say there, i'm pretty sure we've already fixed this internally, but it's best to have someone familiar with that code take a look.
Elliott Hughes
yes, the bug has already been fixed internally.
Elliott Hughes