libc crashes after using NDK

178 views
Skip to first unread message

Lewis Z.

unread,
Sep 4, 2009, 12:17:41 PM9/4/09
to android-ndk
I just started to use the NDK build system. After the make file
conversion, I have crashes everytime I close my DBs. I didn't have
this problem before the conversion. Any suggestions? Thank you.

Here is code snip:

private SQLiteDatabase mDb=null;
....
public void close() {
if (mDb != null) {
Log.i("XxxBscDbHlp:close", "==========called");
mDb.close();
mDb = null;
}
}

In my Android.mk, I defined LOCAL_LDLIBS as

LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog

Here are the traces:

I/PageXxxFlows:onDestroy( 806): ============called
I/XxxBscDbHlp:close( 806): ==========called
D/libc-abort( 806): abort() called in pid 806
I/DEBUG ( 539): *** *** *** *** *** *** *** *** *** *** *** *** ***
*** *** *
**
I/DEBUG ( 539): Build fingerprint: 'generic/sdk/generic/:1.5/
CUPCAKE/150240:e
ng/test-keys'
I/DEBUG ( 539): pid: 806, tid: 806 >>> com.cmname.tools.dbmgr <<<
I/DEBUG ( 539): signal 11 (SIGSEGV), fault addr deadbaad
I/DEBUG ( 539): r0 00000003 r1 deadbaad r2 00000027 r3 ffff6150
I/DEBUG ( 539): r4 ffff6128 r5 afe2fef8 r6 afe39dd0 r7 afe39dd0
I/DEBUG ( 539): r8 bef9f550 r9 41049d18 10 41049d04 fp 00000000
I/DEBUG ( 539): ip 0000001a sp bef9f430 lr afe1ff33 pc
afe1066a cpsr 200
00030
I/DEBUG ( 539): #00 pc 0001066a /system/lib/libc.so
I/DEBUG ( 539): #01 pc 0000afae /system/lib/libc.so
I/DEBUG ( 539): #02 pc 0000880a /system/lib/libsqlite.so
I/DEBUG ( 539): #03 pc 00009a00 /system/lib/libsqlite.so
I/DEBUG ( 539): #04 pc 00009dea /system/lib/libsqlite.so
I/DEBUG ( 539): #05 pc 00009e30 /system/lib/libsqlite.so
I/DEBUG ( 539): #06 pc 00024ed6 /system/lib/libsqlite.so
I/DEBUG ( 539): #07 pc 0002be90 /system/lib/
libandroid_runtime.so
I/DEBUG ( 539): #08 pc 0000e3b4 /system/lib/libdvm.so
I/DEBUG ( 539): #09 pc 00040a8a /system/lib/libdvm.so
I/DEBUG ( 539): #10 pc 00013118 /system/lib/libdvm.so
I/DEBUG ( 539): #11 pc 00017b1c /system/lib/libdvm.so
I/DEBUG ( 539): #12 pc 00017560 /system/lib/libdvm.so
I/DEBUG ( 539): #13 pc 00052268 /system/lib/libdvm.so
I/DEBUG ( 539): #14 pc 000596ee /system/lib/libdvm.so
I/DEBUG ( 539): #15 pc 00013118 /system/lib/libdvm.so
I/DEBUG ( 539): #16 pc 00017b1c /system/lib/libdvm.so
I/DEBUG ( 539): #17 pc 00017560 /system/lib/libdvm.so
I/DEBUG ( 539): #18 pc 000520ec /system/lib/libdvm.so
I/DEBUG ( 539): #19 pc 0003f0f8 /system/lib/libdvm.so
I/DEBUG ( 539): #20 pc 00031ac2 /system/lib/libdvm.so
I/DEBUG ( 539): #21 pc 00028280 /system/lib/
libandroid_runtime.so
I/DEBUG ( 539): #22 pc 00028d7e /system/lib/
libandroid_runtime.so
I/DEBUG ( 539): #23 pc 00008bf2 /system/bin/app_process
I/DEBUG ( 539): #24 pc 0001fd22 /system/lib/libc.so
I/DEBUG ( 539): #25 pc 0000bcb2 /system/lib/libc.so
I/DEBUG ( 539): #26 pc b000157e /system/bin/linker
I/DEBUG ( 539): stack:
I/DEBUG ( 539): bef9f3f0 4362da70
I/DEBUG ( 539): bef9f3f4 00000000
I/DEBUG ( 539): bef9f3f8 afe39f90
I/DEBUG ( 539): bef9f3fc afe39fe4
I/DEBUG ( 539): bef9f400 00000000
I/DEBUG ( 539): bef9f404 afe13e4d /system/lib/libc.so
I/DEBUG ( 539): bef9f408 ad083e10
I/DEBUG ( 539): bef9f40c fa9ca57e
I/DEBUG ( 539): bef9f410 0000bc60 [heap]
I/DEBUG ( 539): bef9f414 ffff6128
I/DEBUG ( 539): bef9f418 afe2fef8 /system/lib/libc.so
I/DEBUG ( 539): bef9f41c afe39dd0
I/DEBUG ( 539): bef9f420 afe39dd0
I/DEBUG ( 539): bef9f424 afe10663 /system/lib/libc.so
I/DEBUG ( 539): bef9f428 df002777
I/DEBUG ( 539): bef9f42c e3a070ad
I/DEBUG ( 539): #00 bef9f430 001dbc88 [heap]
I/DEBUG ( 539): bef9f434 afe0e940 /system/lib/libc.so
I/DEBUG ( 539): bef9f438 001dbc88 [heap]
I/DEBUG ( 539): bef9f43c afe3c980
I/DEBUG ( 539): bef9f440 00002bb0
I/DEBUG ( 539): bef9f444 fffffbdf
I/DEBUG ( 539): bef9f448 afe39dd0
I/DEBUG ( 539): bef9f44c 001dbc80 [heap]
I/DEBUG ( 539): bef9f450 00002bb0
I/DEBUG ( 539): bef9f454 afe0afb3 /system/lib/libc.so
I/DEBUG ( 539): #01 bef9f458 aac49c44
I/DEBUG ( 539): bef9f45c afe0e940 /system/lib/libc.so
I/DEBUG ( 539): bef9f460 afe3c980
I/DEBUG ( 539): bef9f464 afe39dd0
I/DEBUG ( 539): bef9f468 0000a000 [heap]
I/DEBUG ( 539): bef9f46c aac49cb8
I/DEBUG ( 539): bef9f470 bef9f550 [stack]
I/DEBUG ( 539): bef9f474 00000000
I/DEBUG ( 539): bef9f478 00000006
I/DEBUG ( 539): bef9f47c 00000000
I/DEBUG ( 539): bef9f480 aac49cb8
I/DEBUG ( 539): bef9f484 aac0880d /system/lib/libsqlite.so
I/ActivityManager( 569): Process com.cmname.tools.dbmgr (pid 806) has
died.


fadden

unread,
Sep 4, 2009, 1:21:10 PM9/4/09
to android-ndk
On Sep 4, 9:17 am, "Lewis Z." <lzh...@gmail.com> wrote:
> I/PageXxxFlows:onDestroy(  806): ============called
> I/XxxBscDbHlp:close(  806): ==========called
> D/libc-abort(  806): abort() called in pid 806
[...]
> I/DEBUG   (  539):          #00  pc 0001066a  /system/lib/libc.so
> I/DEBUG   (  539):          #01  pc 0000afae  /system/lib/libc.so
> I/DEBUG   (  539):          #02  pc 0000880a  /system/lib/libsqlite.so
> I/DEBUG   (  539):          #03  pc 00009a00  /system/lib/libsqlite.so
> I/DEBUG   (  539):          #04  pc 00009dea  /system/lib/libsqlite.so
> I/DEBUG   (  539):          #05  pc 00009e30  /system/lib/libsqlite.so
> I/DEBUG   (  539):          #06  pc 00024ed6  /system/lib/libsqlite.so
> I/DEBUG   (  539):          #07  pc 0002be90  /system/lib/libandroid_runtime.so
> I/DEBUG   (  539):          #08  pc 0000e3b4  /system/lib/libdvm.so

Something in libsqlite called something in libc that called abort().
This is usually the result of a malloc() or free() call that detected
heap corruption.

rb...@mail.ru

unread,
Oct 1, 2009, 12:59:34 PM10/1/09
to android-ndk
Hi Lewis Z.,

I got the same error (signal 11 (SIGSEGV), fault addr deadbaad ), when
I call free() function with bad address:

char* text = "sometext";
...
...
free(text);

perhaps in your case something like this. (it is just a guess)
Reply all
Reply to author
Forward
0 new messages