C app calls dlopen(somelib.so), dlsym(somefunc).
somelib.so is linked against libjava.so.
somefunc ultimately gets a JVM invoked.
App calls somefunc, failure occurs on JNI_CreateJavaVM.
Result JDK 1.1.6:
Program received signal SIGSEGV, Segmentation fault.
#0 fillInStackTrace (o=0x4086bc98, ee=0x4048c0c4)
at ../../../../src/share/java/lang/exception.c:90
#1 0x4044faa2 in SignalError ()
#2 0x4044f1a5 in invokeLazyNativeMethod ()
#3 0x4047dd9d in isq_not_inm5 ()
#4 0x4086bcb0 in ?? ()
#5 0x8829b80 in ?? ()
Result JDK 1.1.5:
Program received signal SIGSEGV, Segmentation fault.
#0 fillInStackTrace (o=0x40863f18, ee=0x404836dc)
at ../../../../src/share/java/lang/exception.c:90
#1 0x4044da9a in ?? () from /opt/local/java/jdk/lib/i586/green_threads//libjava.so
#2 0x4044d521 in ?? () from /opt/local/java/jdk/lib/i586/green_threads//libjava.so
#3 0x40475649 in ?? () from /opt/local/java/jdk/lib/i586/green_threads//libjava.so
#4 0x40863c88 in ?? ()
#5 0x8828b40 in ?? ()
Happens with and without greenthreads/libc|libdl in the
LD path. RedHat 5.1, glibc-2.0.7-13.
Any ideas?
b.