Cheers,
Hans
On Sun, 20 Oct 2002 00:08:33 -0700
"Bill Barker" <[EMAIL PROTECTED]> wrote:
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
(differentmachine)
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(DefaultServerSocketFactory.java:107) atorg.apache.tomcat.util.net.PoolTcpEndpoint.acceptSocket(PoolTcpEndpoint.java:326) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:472) atorg.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java: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(RequestDispatcherImpl.java:207) atorg.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:174) atde.einsurance.gui.framework.ExceptionHandler.handle(ExceptionHandler.java:255) atde.einsurance.gui.framework.ExceptionHandler.handle(ExceptionHandler.java:151) atde.einsurance.gui.framework.ExtendedActionServlet.process(ExtendedActionServlet.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)atorg.apache.tomcat.facade.RequestDispatcherImpl.doForward(RequestDispatcherImpl.java:272) atorg.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:174) atorg.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1758)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1595)
at
de.einsurance.gui.framework.ExtendedActionServlet.process(ExtendedActionServlet.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)atorg.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
at
org.apache.tomcat.modules.server.Ajp13Interceptor.processConnection(Ajp13Interceptor.java:341) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494) atorg.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java: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>
-- To unsubscribe, e-mail: <mailto:tomcat-dev-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:tomcat-dev-help@;jakarta.apache.org>