Return-Path: Delivered-To: apmail-tomcat-users-archive@www.apache.org Received: (qmail 84359 invoked from network); 6 Oct 2006 16:33:50 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 6 Oct 2006 16:33:50 -0000 Received: (qmail 65913 invoked by uid 500); 6 Oct 2006 16:33:37 -0000 Delivered-To: apmail-tomcat-users-archive@tomcat.apache.org Received: (qmail 65887 invoked by uid 500); 6 Oct 2006 16:33:37 -0000 Mailing-List: contact users-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Users List" Delivered-To: mailing list users@tomcat.apache.org Received: (qmail 65866 invoked by uid 99); 6 Oct 2006 16:33:37 -0000 Received: from idunn.apache.osuosl.org (HELO idunn.apache.osuosl.org) (140.211.166.84) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Oct 2006 09:33:37 -0700 X-ASF-Spam-Status: No, hits=0.0 required=5.0 tests= Received: from [68.236.111.6] ([68.236.111.6:38538] helo=paris.ifactory.com) by idunn.apache.osuosl.org (ecelerity 2.1.1.8 r(12930)) with ESMTP id 39/A5-24193-A5586254 for ; Fri, 06 Oct 2006 09:33:31 -0700 Received: from bender.ifactory.com (bender.ifactory.com [192.168.10.24]) (authenticated bits=0) by paris.ifactory.com (8.13.4/8.12.10) with ESMTP id k96GXQsf026732 for ; Fri, 6 Oct 2006 12:33:27 -0400 Subject: Re: Response committed before getting to the filters From: Dan Adams To: Tomcat Users List In-Reply-To: <1160146284.2217.282.camel@bender.ifactory.com> References: <1160146284.2217.282.camel@bender.ifactory.com> Content-Type: text/plain Date: Fri, 06 Oct 2006 12:33:26 -0400 Message-Id: <1160152406.16788.13.camel@bender.ifactory.com> Mime-Version: 1.0 X-Mailer: Evolution 2.6.3 (2.6.3-1.fc5.5) Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.53 on 192.168.10.6 X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N So I set a conditional breakpoint for response.isCommitted() all the way down in CoyoteAdapter.service() (called by Http11Processor.process()) and the response was committed at that point when this happened. Here is the source where the breakpoint was: // Parse and set Catalina and configuration specific // request parameters if ( postParseRequest(req, request, res, response) ) { // Calling the container // BREAKPOINT IS HERE connector.getContainer().getPipeline().getFirst().invoke(request, response); } I'm going to try to go ever further down and see if there is a point at which it isn't committed. On Fri, 2006-10-06 at 10:51 -0400, Dan Adams wrote: > So every once in a while when you make a request to the server you won't > get anything back and the log will show that one of the filters > complained that response is already committed. So I restarted tomcat > with the jpda debugger on, fired up my debugger in eclipse, and set a > breakpoint at the place in the filter where this message is printed. > > My app has 2 filters right now and the breakpoint is in the second > filter. So when I hit the breakpoint I went down in the stack trace to > the point at which tomcat calls doFilter on the first filter in the > filter chain. At that point is the stack, response.isCommitted() > evaluates to 'true'(!?). Exploring the objects the response shows that > the headers written so far are: > > Transfer-Encoding = chunked > Date = Fri, 06 Oct 2006 14:33:33 GMT > > and contentLength == -1. > > Why would the response be committed before even getting to any of the > code in my application? Even suggestions on what to investigate further > would be help at this point. Thanks in advance. > -- Dan Adams Senior Software Engineer Interactive Factory 617.235.5857 --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org For additional commands, e-mail: users-help@tomcat.apache.org