Hi all,

I'm running Tomcat 7.0.32 with Java 1.7.0_09 (64-bit) on Windows Server 2008 R2 
(64-bit), behind IIS 7.5 with ISAPI Redirector 1.2.37. For the AJP connection, 
I used the AJP-APR connector (with Tomcat Native 1.1.24).

1) This worked perfectly fine since the initial setup of the server 3 months 
ago (however with lower version numbers of Tomcat and Java), but 3 days ago, 
suddenly the JVM crashed, with following crash report:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000007160e291, pid=4028, 
tid=4060
#
# JRE version: 7.0_09-b05
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.5-b02 mixed mode windows-amd64 
compressed oops)
# Problematic frame:
# V  [jvm.dll+0xae291]
#
# Core dump written. Default location: D:\tomcat7\bin\hs_err_pid4028.mdmp
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x0000000000feb800):  GCTaskThread [stack: 
0x0000000004810000,0x0000000004910000] [id=4060]

siginfo: ExceptionCode=0xc0000005, reading address 0xffffffffffffffff

[...]

Stack: [0x0000000004810000,0x0000000004910000],  sp=0x000000000490fa70,  free 
space=1022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [jvm.dll+0xae291]


At a first glance this seems like a JVM bug (as the current thread is 
GCTaskThread), but when I googled for it, most sources say that this is mostly 
caused by bugs in JNI code / a library that uses JNI [1].
So maybe this is a problem with the Tomcat Native library (which is the only 
native library that I'm using)? Unfortunately, as this is the first JVM crash 
since three months, this problems seems not to be very reproducible (or e.g. a 
change in the recent Java versions could have triggered this).

Unfortunately, for me this means that I have to consider the APR connectors on 
64-bit Windows as broken (at least for the time being), and therefore I 
switched to the NIO/BIO ones and removed the TC native library. If I will get a 
JVM crash again, then this would probably mean that it was not the fault of the 
TC native library. ;)

2.) After I switched to the AJP-NIO connector, I got the following stacktrace 
in catalina.log:
Okt 20, 2012 2:58:51 PM org.apache.coyote.ajp.AjpNioProcessor process
SEVERE: Error processing request
java.nio.BufferOverflowException
        at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:183)
        at 
org.apache.coyote.ajp.AjpNioProcessor.output(AjpNioProcessor.java:281)
        at 
org.apache.coyote.ajp.AbstractAjpProcessor$SocketOutputBuffer.doWrite(AbstractAjpProcessor.java:1122)
        at org.apache.coyote.Response.doWrite(Response.java:504)
        at 
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:383)
        at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:462)
        at 
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:334)
        at 
org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:283)
        at 
org.apache.catalina.connector.Response.finishResponse(Response.java:514)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:434)
        at 
org.apache.coyote.ajp.AjpNioProcessor.process(AjpNioProcessor.java:184)
        at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
        at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)

Maybe this could be related to bug 53119 [2] (the stack traces look very 
similar)? (However I have not yet tried if this is reproducible with the given 
testcase - when I tested it back then with Tomcat 7.0.27's AJP-NIO connector, I 
could not reproduce the error).
So, currently I have switched to the AJP-BIO connector.


Thanks!

Regards,
Konstantin Preißer

[1] https://forums.oracle.com/forums/thread.jspa?threadID=1540042
[2] https://issues.apache.org/bugzilla/show_bug.cgi?id=53119



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to