On Tue, Dec 29, 2015 at 9:18 PM, Alex Potapenko opotapenko@gmail.com wrote:
I'm unable to get core dump due to system limitations (it's a router): I run `ulimit -c unlimited`, yet core dump is never to be found on the system after crash :(
Looks like your kernel config simply disables core dumps, just check that CONFIG_ELF_CORE parameter is set to yes.
Using gdb, I got this:
#0 0x4004c05c in _dl_debug_state () from /opt/lib/ld-uClibc.so.1 No symbol table info available. #1 0x40050394 in _dl_get_ready_to_run () from /opt/lib/ld-uClibc.so.1 No symbol table info available. #2 0x40050864 in ?? () from /opt/lib/ld-uClibc.so.1 No symbol table info available. Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Just gdb notification, non informative.
I then installed non-stripped uclibc-ng, libffi and openjdk8 libraries, and got a more informative output (see gdb.log attached).
Yes, it is much better (gdb.log): ... Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x40ac24d0 (LWP 15709)] 0x4010c804 in initLocalIfs () from /opt/lib/openjdk8/arm/libnet.so (gdb) bt full #0 0x4010c804 in initLocalIfs () from /opt/lib/openjdk8/arm/libnet.so No symbol table info available. #1 0x4010b3f4 in JNI_OnLoad () from /opt/lib/openjdk8/arm/libnet.so No symbol table info available. #2 0x40135de0 in Java_java_lang_ClassLoader_00024NativeLibrary_load () from /opt/lib/jvm/openjdk8/jre/lib/arm/libjava.so No symbol table info available. #3 0x401a433c in ffi_call_SYSV () from /opt/lib/libffi.so.6 No symbol table info available. #4 0x401a5a54 in ffi_call () from /opt/lib/libffi.so.6 No symbol table info available. #5 0x404c1640 in CppInterpreter::native_entry(Method*, int, Thread*) () from /opt/lib/jvm/openjdk8/jre/lib/arm/server/libjvm.so ...
but points inside the OpenJDK native code. I'm found initLocalIfs() function at jdk/src/solaris/native/java/net/net_util_md.c - very strange for me, since you are running on linux. Probably, it is due I'm not familiar with OpenJDK internals.
Anyway, are you able to:
1) update OpenJDK to latest jdk8u76-b01 & uClibc-ng to 1.0.10 ?
2) disable use of IPv6 at all, to exclude any chance of read of "/proc/net/if_inet6" in initLocalIfs() ?
3) compile only libnet.so with -g3 switch to get a much more of debug info ?
P.S. You forgot to select "Reply all" to allow anyone see your mail in mailing list
Leonid