You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Alexander Leyke <al...@cs.com> on 2003/01/27 22:53:09 UTC

JVM Error

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.



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: JVM Error

Posted by Costin Manolache <cm...@yahoo.com>.
I've seen similar problems - java is very sensitive to each thread
beeing 'registered'. My understanding is that attaching the
thread will set all the TLDs that are needed, and jk2 is calling the 
attach method - so I don't know what is wrong here.

My bet would be on thread creation - I would add some printf with the
TID serving the request ( before attaching the thread ). One thing that
may happen in 10 minutes is the thread management code adding or removing
threads. 

Costin

Alexander Leyke wrote:

> 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.



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>