Return-Path: Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: (qmail 86320 invoked from network); 29 Jan 2008 12:24:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 29 Jan 2008 12:24:51 -0000 Received: (qmail 16407 invoked by uid 500); 29 Jan 2008 12:24:38 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 16361 invoked by uid 500); 29 Jan 2008 12:24:38 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 16335 invoked by uid 500); 29 Jan 2008 12:24:38 -0000 Delivered-To: apmail-jakarta-tomcat-dev@jakarta.apache.org Received: (qmail 16332 invoked by uid 99); 29 Jan 2008 12:24:38 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 Jan 2008 04:24:38 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 29 Jan 2008 12:24:32 +0000 Received: by brutus.apache.org (Postfix, from userid 33) id 13F52714208; Tue, 29 Jan 2008 04:24:23 -0800 (PST) From: bugzilla@apache.org To: tomcat-dev@jakarta.apache.org Subject: DO NOT REPLY [Bug 44310] - Possible data packet corruption when sending data on the outputStream of a recycled response In-Reply-To: X-Bugzilla-Reason: AssignedTo Message-Id: <20080129122424.13F52714208@brutus.apache.org> Date: Tue, 29 Jan 2008 04:24:23 -0800 (PST) X-Virus-Checked: Checked by ClamAV on apache.org DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG� RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT . 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 ------- Additional Comments From cpierret@sparus-software.com 2008-01-29 04:24 ------- I agree the current servlet spec is quite clear about not reusing objects outside of the request/response scope. The servlet spec does not offer any support for asynchronous I/Os, which is the context of the current request. In order to improve overall robustness of tomcat in front of what can be considered bad programming in the context of the current servlet spec but is required to implement asynchronous SENDs (using an application-defined thread SEND pool that have no real way to sync with RECV errors without blocking), I suggested that the lifecycle of public objects (Response, OutputStream) referencing internal implementation details (OutputBuffer) be in sync. The outputBuffer is recycled, but public objects that may have been stored for application-defined purposes are still pointing to it, which is , in my opinion, not the best design possible. I have a design pattern of trying to keep related API objects' lifecycles in sync to avoid the kind of issue I was experiencing before applying the patch. I will anyhow ship my product with this patch in my installer , which packages tomcat inside. e.g.: the application I am talking about is a commercial Mobile SSL VPN based on tomcat. It may be bold, but it works like a charm... -- 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