Tomcat closes the TCP connection as soon as the GET request is sent. The following is the stack trace that appears on catalina_log.*.txt It seems to happen in random intervals. The only way to recover at this point is to restart tomcat. Also seems to happen only with redhat linux 9 version: Linux nars 2.4.20-9smp #1 SMP Wed Apr 2 13:28:49 EST 2003 i686 i686 i386 GNU/Linux 2003-10-18 18:07:06 CoyoteAdapter An exception or error occurred in the container during the request processing java.lang.NullPointerException at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:164) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) at java.lang.Thread.run(Thread.java:534)
We have a very similar problem here (same version of Tomcat, same stack trace), although these items differ: - The problem occurs *only* if tomcat is accessed via Apache mod_jk2. - Apache reports this: bond.webwasher.com - - [04/Dec/2003:12:01:32 +0100] "GET /servlets/SWMSAPI/login?user=test&pass= HTTP/1.1" 200 0 i.e. status 200, empty response. No entry in Apache error log. - Tomcat need *not* be restarted to recover. Repeated resending the request succeeds usually after n<5 resends. Versions: Linux extranet2.webwasher.com 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux Apache 2.0.40 java version "1.4.2_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_01-b06) Java HotSpot(TM) Client VM (build 1.4.2_01-b06, mixed mode) Apparently getContainer() does sometimes return null. Could it be that this is a threading issue?
Forgot to mention that this happens with Tomcat 4.1.29, too.
Having the same problem with Tomcat 5.0.19 running in an integrated stack with JBoss 3.2.4 RC1 Running mod_jk 2.0.2/2.0.4 running on Redhat Fedora core 1. JDK 1.4.2_04 Another I see this very often after about 2 or three minutes of use. The application that I'm running has frames in it and when the error occurs, one frameset fails to be delivered. You get a white page. A click on the reload button restores the page, but its almost if the TCP connection delivers one frame and disconnects without handling the other frame. Didnt see this problem running Tomcat 4.1.29 with JBoss 3.2.3 Get this with the first request 3:29,453 WARN [HandlerRequest] Error registering request Here is the stack trace, 18:16:28,920 ERROR [CoyoteAdapter] An exception or error occurred in the container during the request processing java.lang.NullPointerException at org.jboss.resource.connectionmanager.BaseConnectionManager2.unregisterAssociation(BaseConnectionManager2.java:625) at org.jboss.resource.connectionmanager.BaseConnectionManager2.disconnect(BaseConnectionManager2.java:592) at org.jboss.resource.connectionmanager.CachedConnectionManager.disconnect(CachedConnectionManager.java:405) at org.jboss.resource.connectionmanager.CachedConnectionManager.popMetaAwareObject(CachedConnectionManager.java:247) at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:96) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:339) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:415) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:716) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:650) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:829) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688) at java.lang.Thread.run(Thread.java:534)
This is really annoying ... How is this the same issue ? Don't you see the stack trace is completely different, and doesn't involve Tomcat code ?
I fixed a NPE in org.apache.coyote.RequestInfo in setGlobalProcessor(). It could be related. Could you make a new test with 5.0.22 ?
Is this a fix for 5.* only or did you apply it to 4.1.* also?
This bug report has been transferred to Tomcat 5 because TC4 and TC5 share the connectors and TC5 is now the focus of development effort
I got over my bad mood, and in the end I'll continue doing BZ sometimes. Whatever causes this problem (I've never found out) can't happen with 5.0.x (notice the stack trace is outside of the connector).