Remy's fix is now in the 3.3 nightly.  Since you can reproduce this, it
would be a big help if you could find a machine to test this on.

----- Original Message -----
From: "Hans Schmid" <[EMAIL PROTECTED]>
To: "Tomcat Developers List" <[EMAIL PROTECTED]>
Sent: Saturday, October 19, 2002 5:59 AM
Subject: AW: Bug 13736


> Bill, Remy,
>
> I have seen this one once on our production system
> running Tomcat 3.3.1 with AJP1.3, Apache 1.3.27, mod_jk 1.1.0
> This is on Sparc Solaris 8 running JDK 1.3.1_04.
> 11019 is our ajp13 port (which we uswe also as shutdown port. No AJP 1.2
> port open)
> Our webservers use the lb_worker to connect to the Tomcat servers
(different
> machine)
>
> It occured, when we had a bug in our application causing an endless
> stacktrace, which filled
> up our logs.( 5000 !!! MB per minute). At some stage, the JVM crashed out
> after a stack overflow.
>
> Before the crash, tomcat got slower and slower due to the massive logging.
> 11019 is our ajp13 port (which we uswe also as shutdown port. No AJP 1.2
> port open)
>
> I can reproduce the endless stacktrace, but am not sure to get the
> ServerSocket error
> (can not reproduce this on our production server for obvious reasons)
>
>
> PoolTcpEndpoint: Endpoint
> ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=11019] ignored
exception:
> java.net.SocketException: Interrupted system call
> java.net.SocketException: Interrupted system call
> at java.net.PlainSocketImpl.socketAccept(Native Method)
> at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:463)
> at java.net.ServerSocket.implAccept(ServerSocket.java:238)
> at java.net.ServerSocket.accept(ServerSocket.java:217)
> at
>
org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultSe
> rverSocketFactory.java:107)
> at
>
org.apache.tomcat.util.net.PoolTcpEndpoint.acceptSocket(PoolTcpEndpoint.java
> :326)
> at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:472)
> at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
> a:516)
> at java.lang.Thread.run(Thread.java:479)
> 2002-10-05 16:01:24 - Ctx(/einsurance) : IllegalStateException in R(
> /einsurance + /view + /screens/car/carDescription.htm) -
> java.lang.IllegalStateException: Cannot forward because the response has
> already been committed
> at
>
org.apache.tomcat.facade.RequestDispatcherImpl.doForward(RequestDispatcherIm
> pl.java:207)
> at
>
org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl
> .java:174)
> at
>
de.einsurance.gui.framework.ExceptionHandler.handle(ExceptionHandler.java:25
> 5)
> at
>
de.einsurance.gui.framework.ExceptionHandler.handle(ExceptionHandler.java:15
> 1)
> at
>
de.einsurance.gui.framework.ExtendedActionServlet.process(ExtendedActionServ
> let.java:69)
> at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java)
> at
> org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:574)
> at org.apache.tomcat.core.Handler.invoke(Handler.java:322)
> at org.apache.tomcat.core.Handler.service(Handler.java:235)
> at
org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:485)
> at
>
org.apache.tomcat.facade.RequestDispatcherImpl.doForward(RequestDispatcherIm
> pl.java:272)
> at
>
org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl
> .java:174)
> at
>
org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.ja
> va:1758)
> at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1595)
> at
>
de.einsurance.gui.framework.ExtendedActionServlet.process(ExtendedActionServ
> let.java:65)
> at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java)
> at
> org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:574)
> at org.apache.tomcat.core.Handler.invoke(Handler.java:322)
> at org.apache.tomcat.core.Handler.service(Handler.java:235)
> at
org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:485)
> at
>
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:91
> 7)
> at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
> at
>
org.apache.tomcat.modules.server.Ajp13Interceptor.processConnection(Ajp13Int
> erceptor.java:341)
> at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)
> at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
> a:516)
> at java.lang.Thread.run(Thread.java:479)
>
>
> Cheers,
> Hans
>
>
> > -----Ursprungliche Nachricht-----
> > Von: Remy Maucherat [mailto:remm@;apache.org]
> > Gesendet: Freitag, 18. Oktober 2002 20:15
> > An: Tomcat Developers List
> > Betreff: Re: Bug 13736
> >
> >
> > Bill Barker wrote:
> >
> > > +1.  As I said above, it probably hasn't shown up in 3.3 mostly
because
> > > AJP13 has many fewer accepts.
> >
> > I'll fix it then.
> >
> > You have to be careful that no IOException should end up in that code,
> > otherwise, for each one the server socket will be restarted (not good).
> > With HTTP/1.1, the only thing that can happen is when there's an
> > exception in the accept, which apparently screws up the server socket.
> >
> > It would be nice if this was thouroughly tested for problems after I
> > commit the fix.
> >
> > Remy
> >
> >
> > --
> > To unsubscribe, e-mail:
> > <mailto:tomcat-dev-unsubscribe@;jakarta.apache.org>
> > For additional commands, e-mail:
> > <mailto:tomcat-dev-help@;jakarta.apache.org>
> >
> >
>
>
> --
> To unsubscribe, e-mail:
<mailto:tomcat-dev-unsubscribe@;jakarta.apache.org>
> For additional commands, e-mail:
<mailto:tomcat-dev-help@;jakarta.apache.org>
>


--
To unsubscribe, e-mail:   <mailto:tomcat-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-dev-help@;jakarta.apache.org>

Reply via email to