Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SocketClosed

2 views
Skip to first unread message

Oz Levanon

unread,
Mar 5, 2003, 10:41:34 AM3/5/03
to
Hi. I have a tomcat server (4.1.12 on Windows 2000 Pro).
Sometimes, when a user closes a connection to the server I get on the
server side a SocketException: Socket closed message, with a long
stack printed afterwards.

I wanted to ask if you anyone (apache/tomcat) catches this exception,
or does it simply go uncatched. What does the thread pool do with the
current thread in such a case? Does it close it and reopen one, or do
I lose one thread from my maxThreads parameter ?

I've also attached the stack printed, hope it helps.

2003-03-05 00:54:00 StandardWrapperValve[AxisServlet]:
Servlet.service() for servlet AxisServlet threw exception
java.net.SocketException: Socket closed
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:126)
at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:652)
at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:521)
at org.apache.coyote.Response.doWrite(Response.java:513)
at org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:380)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:360)
at org.apache.coyote.tomcat4.OutputBuffer.flush(OutputBuffer.java:344)
at org.apache.coyote.tomcat4.CoyoteResponse.flushBuffer(CoyoteResponse.java:554)
at org.apache.coyote.tomcat4.CoyoteResponseFacade.flushBuffer(CoyoteResponseFacade.java:227)
at org.apache.axis.transport.http.AxisServlet.sendResponse(AxisServlet.java:832)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:744)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
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.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
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.catalina.core.StandardContext.invoke(StandardContext.java:2396)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
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:405)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Thread.java:536)


TIA, Oz.

Anonymous

unread,
Mar 6, 2003, 12:14:49 AM3/6/03
to
"Oz Levanon" <o...@veon.com> wrote in message
news:8f73ab16.03030...@posting.google.com...

> Hi. I have a tomcat server (4.1.12 on Windows 2000 Pro).
> Sometimes, when a user closes a connection to the server I get on the
> server side a SocketException: Socket closed message, with a long
> stack printed afterwards.
>
> I wanted to ask if you anyone (apache/tomcat) catches this exception,
> or does it simply go uncatched. What does the thread pool do with the
> current thread in such a case? Does it close it and reopen one, or do
> I lose one thread from my maxThreads parameter ?
>
> I've also attached the stack printed, hope it helps.

The fact that the stack trace appears shows that Tomcat caught
the exception gracefully. The Thread will be recycled.


-----------== Posted via Newsfeed.Com - Uncensored Usenet News ==----------
http://www.newsfeed.com The #1 Newsgroup Service in the World!
-----= Over 100,000 Newsgroups - Unlimited Fast Downloads - 19 Servers =-----

0 new messages