You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2003/02/04 21:22:12 UTC
DO NOT REPLY [Bug 16777] New: -
Connector stops processing requests
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16777>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16777
Connector stops processing requests
Summary: Connector stops processing requests
Product: Tomcat 4
Version: 4.1.18
Platform: PC
OS/Version: Windows XP
Status: NEW
Severity: Major
Priority: Other
Component: Connector:Coyote HTTP/1.1
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: rknight@conceptwave.com
After rapid image requests (in my test case images in a drop down javascript
menu) requests cease to be processed (servlet doGet is not called). This
situation persists until IE 6.0 reconnects to the server after a timeout
period. The problem ONLY occurs when the server is running on Windows XP (all
updates have been applied) and occurs frequently when requesting images in
batchs of around 15 at a time. The servlet code to deliver the image is very
simple and is as follows:
// caching is disabled only exacerbate the problem by causing more
// image request
response.setHeader("Cache-Control", "no-store");
response.setContentLength(imageBytes.length);
response.getOutputStream().write(imageBytes);
Pausing the server during this condition reveals two threads reading from
connected sockets. After a period of time (in my case 20 seconds) the reads
timeout and the following exception occurs (this is caught internally and not
logged):
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at org.apache.coyote.http11.InternalInputBuffer.fill
(InternalInputBuffer.java:771)
at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine
(InternalInputBuffer.java:429)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:407)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnecti
on(Http11Protocol.java:386)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:534)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:530)
at java.lang.Thread.run(Thread.java:536)
Further notes:
- When the server is in this state other browsers may connect to the
server and it responds to requests properly.
- the problem also occurs using Connector:HTTP/1.1
- the problem does NOT occur using Tomcat 3.3a
- When repeating this problem the following exceptions occur frequently
(these are caught internally and not logged):
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at org.apache.coyote.http11.InternalInputBuffer.fill
(InternalInputBuffer.java:771)
at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine
(InternalInputBuffer.java:429)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:407)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnecti
on(Http11Protocol.java:386)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:534)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:530)
at java.lang.Thread.run(Thread.java:536)
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org