Hello, I work on JK2 family module for AOLserver and use JNI to communicate with Tomcat, so the JVM is running inside the Web server process. I experience a problem with JVM 1.3.1 on Solaris 2.7/E250 and wonder if anyone else has encountered a similar issue. It manifests itself as JVM crashing, writing a message to the tune "HotSpot Virtual Machine Error/Cannot obtain thread information" and dumping core due to SIGSEGV. It appears that I can reproduce the error by launching AOLserver with JVM in-process, executing a couple of requests and then letting the server sit idle for about 10 minutes. Subsequent request to Tomcat has a good chance of crashing the server.
Examining core in dbx reveals that SEGV always happens in AOLserver request thread, bound to JVM by virtue of using a JNI channel. I can trace the signal to a C++ method, Thread* ThreadLocalStorage::get_thread_via_cache(), local to libjvm.so (debugging data is available if anyone is interested). What could be causing this problem and how can I correct it? I also see a SEGV during JVM initialization. JVM establishes signal handlers to trap and absorb signals, so this one doesn't cause any visible damage. I detect it in dbx and truss, and it seems to originate in JRE library libnet.so evaluating equivalent of C expression *(int*)0. I am puzzled because it looks like intentional dereference of NULL pointer. Your help is appreciated! Alex Typical problem report for the crash: Unexpected Signal : 11 occurred at PC=0xfdcbc5c4 Function name=JVM_Clone Library=/opt/java/jre/lib/sparc/server/libjvm.so Cannot obtain thread information Dynamic libraries: 0x10000 bin/nsd 0xff380000 /usr/lib/libsocket.so.1 0xff280000 /usr/lib/libnsl.so.1 0xff3a0000 /usr/lib/libdl.so.1 0xff350000 /usr/lib/librt.so.1 0xff240000 /usr/lib/libthread.so.1 0xff200000 /usr/lib/libresolv.so.2 0xff1d0000 /usr/lib/libm.so.1 0xff100000 /usr/lib/libc.so.1 0xff0e0000 /usr/lib/libmp.so.2 0xff0c0000 /usr/lib/libaio.so.1 0xff330000 /usr/platform/SUNW,Ultra-250/lib/libc_psr.so.1 0xff030000 /home/aleykekh/aolserver-3.4-opt/bin/nssock.so 0xfe7e0000 /home/aleykekh/aolserver-3.4-opt/bin/nslog.so 0xfe7c0000 /home/aleykekh/aolserver-3.4-opt/bin/nscgi.so 0xfe750000 /home/aleykekh/newtomcat/jakarta-tomcat-connectors-4.1.12-src/jk/build/jk2/aolserver/libnsjk2.so 0xfe700000 /home/aleykekh/newtomcat/apache2/lib/libapr-0.so.0 0xfe6c0000 /home/aleykekh/newtomcat/apache2/lib/libaprutil-0.so.0 0xfe680000 /usr/local/lib/libexpat.so.0 0xfdc00000 /opt/java/jre/lib/sparc/server/libjvm.so 0xfe650000 /usr/lib/libCrun.so.1 0xff050000 /usr/lib/libw.so.1 0xfe610000 /export/0/j2se-1.3.1/jre/lib/sparc/native_threads/libhpi.so 0xfe3d0000 /export/0/j2se-1.3.1/jre/lib/sparc/libverify.so 0xfe390000 /export/0/j2se-1.3.1/jre/lib/sparc/libjava.so 0xfe350000 /export/0/j2se-1.3.1/jre/lib/sparc/libzip.so 0xfe310000 /usr/lib/nss_files.so.1 0xfe5e0000 /home/aleykekh/aolserver-3.4-opt/bin/nscp.so 0xfa7e0000 /export/0/j2se-1.3.1/jre/lib/sparc/libnet.so Local Time = Fri Jan 24 16:28:43 2003 Elapsed Time = 992 # # HotSpot Virtual Machine Error : 11 # Error ID : 4F530E43505002CC 01 # Please report this error at # http://java.sun.com/cgi-bin/bugreport.cgi # The "Function name" at the top of report varies, eg., JVM_GetMethodIxArgsSize, JVM_RawMonitorEnter.