crash in libc.so, abort?

665 views
Skip to first unread message

Peter H

unread,
Nov 22, 2010, 7:09:38 AM11/22/10
to android-ndk
Hi,

After some time, my application always runs into this crash:
I/DEBUG ( 31): signal 11 (SIGSEGV), fault addr deadbaad
I/DEBUG ( 31): #00 pc 00011dc4 /system/lib/libc.so
I/DEBUG ( 31): #01 pc 0000ca80 /system/lib/libc.so

Googleing this group was giving the hint that this hexspeak address is
from an abort() of the libc. But what could be the reason? Heap
corruption? We use our own allocator, so it would not be libc with
malloc throwing an exception, but the program's 'dlmalloc'. Any idea?

Peter

fadden

unread,
Nov 22, 2010, 12:34:27 PM11/22/10
to android-ndk
"deadbaad" means somebody called abort(). You need to figure out who.

Is that the full extent of the stack trace? If so, that's not much to
go on. You may be able to get a better trace by trapping it in the
debugger.

If it's hard to make it repeat, set the property "debug.db.uid" to
32767; this will make debuggerd hold the process in ptrace until you
can get gdbserver/gdb attached. gdb seems to know a few stack
unwinding tricks that debuggerd doesn't, so sometimes this will get
you a better stack trace.

You can also try unrolling it manually from the stack dump in the
debuggerd output.
Reply all
Reply to author
Forward
0 new messages