tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 44310] New: - Possible data packet corruption when sending data on the outputStream of a recycled response
Date Mon, 28 Jan 2008 14:52:49 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=44310>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=44310

           Summary: Possible data packet corruption when sending data on the
                    outputStream of a recycled response
           Product: Tomcat 6
           Version: 6.0.14
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Connectors
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: cpierret@sparus-software.com


When using asynchronous sending (with async receive through Comet API), a
servlet can try to use a recycled response and its output stream by error.
If it is the case, then some random client may get the data sent to another client.
An exception is thrown :
java.lang.NullPointerException
	at
org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:615)
	at
org.apache.coyote.http11.InternalNioOutputBuffer.commit(InternalNioOutputBuffer.java:608)
	at org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1017)
	at org.apache.coyote.Response.action(Response.java:183)
	at org.apache.coyote.Response.sendHeaders(Response.java:379)
	at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:305)
	at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:288)
	at
org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:98)

By activating
-Dorg.apache.catalina.connector.RECYCLE_FACADES=true
on the command line, the problem of data corruption does not occur anymore
(exception occurs in write and not flush).

It is a robustness issue for applications trying to use asynchronous IOs in tomcat.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message