> I/DEBUG ( 28): pid: 7254, tid: 7254 >>>
> com.keypoint_tech.adaptxt.inputmeth
> od.core.testAdaptxt <<<
> I/DEBUG ( 28): signal 11 (SIGSEGV), fault addr deadbaad
A fault address of deadbaad is a signal that your problem is a corrupt
memory heap. The error's going to come from libc, but that's just
because libc's memory management routines are what ultimately triggered
the fault, not because libc itself is buggy. The most likely cause is
somewhere in your code that you're calling free() or delete on something
you don't own, or have already released. That's causing heap corruption
that breaks things later on down the road.
> I/DEBUG ( 28): #00 pc 0001072a /system/lib/libc.so
> I/DEBUG ( 28): #01 pc 0000640e /system/lib/libcutils.so
> I tried to use arm-eabi-addr2line with address 0001072a than i got the
> following result
>
> /usr/local/google/home/digit/android/main/cupcake/android/bionic/libc/
> unistd/brk.c:45
Running addr2line on libc isn't likely to give you much useful
information, you're almost always going to get a reference to brk() or
dlfree() or some other low-level memory management function.
In general you'll want to skip down the stack trace to your shared
library, and run addr2line on that entry (libcutils.so 0x0000640e). But
with this kind of fault, the actual source of the bug is probably
somewhere else in your code, and the faulting address just happens to be
the first time the bionic library detected something wrong.
--Mike
Hi Mike,
First of all thanks a lot But could you please suggest something how I should approach this problem. OR any help for debugging.
Thanks
Amit
--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.
the error is much more likely to be in your native code than your java code, if the java code was wrong i would expect it to throw a java exception
--
your native code is probably somehow corrupting outbuf, if you never use outbuf then the corruption will go unnoticed. you can't catch a native error like a segmentation fault in java, the vm will just die and even if you could catch the error then the vm would likely be unstable.
no body will be able to tell you what is wrong with your native code without seeing it! your java code looks ok and if it wasn't im sure you would get a java exception rather than a seg fault.