Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 73017 invoked from network); 16 Dec 2005 15:40:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 16 Dec 2005 15:40:08 -0000 Received: (qmail 68273 invoked by uid 500); 16 Dec 2005 15:40:05 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 68091 invoked by uid 500); 16 Dec 2005 15:40:04 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@cocoon.apache.org List-Id: Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 68080 invoked by uid 99); 16 Dec 2005 15:40:04 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Dec 2005 07:40:04 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [68.230.240.38] (HELO eastrmmtao01.cox.net) (68.230.240.38) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Dec 2005 07:40:04 -0800 Received: from [192.168.0.102] (really [70.179.64.83]) by eastrmmtao01.cox.net (InterMail vM.6.01.05.02 201-2131-123-102-20050715) with ESMTP id <20051216153823.PPYE4894.eastrmmtao01.cox.net@[192.168.0.102]> for ; Fri, 16 Dec 2005 10:38:23 -0500 Message-ID: <43A2DFBC.8040209@reverycodes.com> Date: Fri, 16 Dec 2005 10:39:40 -0500 From: Vadim Gritsenko User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: dev@cocoon.apache.org Subject: Re: Cocoon hang in excalibur-pool References: <43A21058.7020606@dslextreme.com> <43A23A61.3040501@reverycodes.com> <43A26DFA.7090006@dslextreme.com> In-Reply-To: <43A26DFA.7090006@dslextreme.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Ralph Goers wrote: > Thanks Vadim. I'm posting this back to the Cocoon list as it seems what > you are telling me is that the problem is either with the XMLFileModule > or with running out of components in the pool on the pipeline being > invoked. > > What I am not clear on is what you are trying to tell me in the last > paragraph. Are you saying that the deadlock can be avoided by > configuring the components being used in the target pipeline differently? I've not looked into pool source code yesterday to double check all points myself. I'm suggesting you to check: * What type of pool is really used * Why it is blocking (I guessed it is blocking due to resource exhaustion) * If it's hard limiting pool - why it's not soft limiting pool * Try increasing pipes pool size for a quick fix Vadim > I'm wondering if the whole getDocument method needs to be synchronized > or whether the scope can be reduced so that it doesn't hold a lock while > invoking the pipeline. This may be dumb, but I'm also wondering why the > inner class DocumentHelper is static when it always seems to be created > in getDocumentHelper with new. > > Ralph > > Vadim Gritsenko wrote: > >> Looks like you've got a classic deadlock. >> >> Request (*) calls XMLFileModule which synchronizes on its internal >> cache, and tries to parse a document, which is coming from Cocoon >> pipeline, so tree processor looks up a pipeline object. >> >> But while this request does this, new requests are coming in, and each >> one of them takes one pipeline object out of the pool, and then all >> those requests are piling up before XMLFileModule lock. >> >> Pipeline pool runs out of resources, and request (*) above blocks >> waiting when pool gets resources back. >> >> But it won't. >> >> What I'm not clear on is IIRC component pools should use soft limiting >> pools, so there should be no waiting in ResourceLimitingPool. You may >> want to double check this. >> >> Vadim