Return-Path: Delivered-To: apmail-jakarta-commons-user-archive@www.apache.org Received: (qmail 92816 invoked from network); 16 Mar 2007 18:55:57 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Mar 2007 18:55:57 -0000 Received: (qmail 83744 invoked by uid 500); 16 Mar 2007 18:55:58 -0000 Delivered-To: apmail-jakarta-commons-user-archive@jakarta.apache.org Received: (qmail 83667 invoked by uid 500); 16 Mar 2007 18:55:58 -0000 Mailing-List: contact commons-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Jakarta Commons Users List" Reply-To: "Jakarta Commons Users List" Delivered-To: mailing list commons-user@jakarta.apache.org Received: (qmail 83640 invoked by uid 99); 16 Mar 2007 18:55:58 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Mar 2007 11:55:57 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [216.70.158.121] (HELO mail.serus.com) (216.70.158.121) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 16 Mar 2007 11:55:48 -0700 Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.serus.com (Postfix) with ESMTP id 48F9A514123 for ; Fri, 16 Mar 2007 11:55:27 -0700 (PDT) X-DSPAM-Result: Innocent X-DSPAM-Processed: Fri Mar 16 11:55:25 2007 X-DSPAM-Confidence: 0.9997 X-DSPAM-Probability: 0.0000 X-DSPAM-Signature: 45fae81d282642335949428 X-DSPAM-Factors: 27, X-Virus-Scanned: amavisd-new at X-Spam-Score: -1.206 X-Spam-Level: Received: from mail.serus.com ([127.0.0.1]) by localhost (mail.serus.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HSt-Aei2lv1C for ; Fri, 16 Mar 2007 11:55:24 -0700 (PDT) Received: from girirajlaptop (gw.loglogic.com [209.172.100.34]) by mail.serus.com (Postfix) with ESMTP id D022B5140E2 for ; Fri, 16 Mar 2007 11:55:23 -0700 (PDT) Reply-To: From: "Giriraj Vengurleker" To: Subject: DBCP deadlock issue Date: Fri, 16 Mar 2007 11:55:20 -0800 Organization: Serus Corporation MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_002B_01C767C1.F9828CA0" X-Mailer: Microsoft Office Outlook, Build 11.0.5510 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Thread-Index: AcdoBQcb6R0w3qyQSeaZIWOdauG2Ow== Message-Id: <20070316185523.D022B5140E2@mail.serus.com> X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No, score=-1.206 tagged_above=-10 required=6.6 tests=[AWL=0.099, BAYES_00=-2.599, DSPAM_HAM=-0.1, HTML_MESSAGE=0.001, MSGID_FROM_MTA_ID=1.393] ------=_NextPart_000_002B_01C767C1.F9828CA0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit We see a deadlock in the dbcp code when we use it in Tomcat. We are using commons-pool-1.3.jar and commons-dbcp-1.2.1.jar with Tomcat 5.0.28 and JDK 1.5 update 10. Anyone see this before? Thanks Found one Java-level deadlock: ============================= "TP-Processor5": waiting to lock monitor 0x0000000001d4ca08 (object 0x0000000094a820c8, a org.apache.commons.pool.impl.StackKeyedObjectPool), which is held by "Finalizer" "Finalizer": waiting to lock monitor 0x0000000001d4d208 (object 0x0000000094a82030, a org.apache.commons.dbcp.PoolingConnection), which is held by "TP-Processor5" Java stack information for the threads listed above: =================================================== "TP-Processor5": at org.apache.commons.pool.impl.StackKeyedObjectPool.borrowObject(StackKeyedObj ectPool.java:123) - waiting to lock <0x0000000094a820c8> (a org.apache.commons.pool.impl.StackKeyedObjectPool) at org.apache.commons.dbcp.PoolingConnection.prepareStatement(PoolingConnection .java:103) - locked <0x0000000094a82030> (a org.apache.commons.dbcp.PoolingConnection) at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConn ection.java:199) at org.apache.commons.dbcp.PoolingDriver$PoolGuardConnectionWrapper.prepareStat ement(PoolingDriver.java:343) at com.serus.db.connections.SerusConnection.prepareStatement(SerusConnection.ja va:182) at org.apache.ojb.broker.accesslayer.StatementsForClassImpl.prepareStatement(St atementsForClassImpl.java:233) at org.apache.ojb.broker.accesslayer.StatementsForClassImpl.getPreparedStmt(Sta tementsForClassImpl.java:151) at org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Stat ementManager.java:606) at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(JdbcAccessImpl .java:271) at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(RsQueryObject.j ava:72) at org.apache.ojb.broker.accesslayer.RsIterator.(RsIterator.java:189) at org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(RsIterator FactoryImpl.java:58) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Pers istenceBrokerImpl.java:2205) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Persis tenceBrokerImpl.java:1736) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorByQuery(Persiste nceBrokerImpl.java:1723) at org.apache.ojb.broker.accesslayer.BasePrefetcher.prefetchRelationship(BasePr efetcher.java:110) at org.apache.ojb.broker.core.QueryReferenceBroker.performRetrievalTasks(QueryR eferenceBroker.java:385) at org.apache.ojb.broker.accesslayer.BasePrefetcher.prefetchRelationship(BasePr efetcher.java:119) at org.apache.ojb.broker.core.QueryReferenceBroker.performRetrievalTasks(QueryR eferenceBroker.java:385) at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryRe ferenceBroker.java:180) at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryRe ferenceBroker.java:267) at org.apache.ojb.broker.core.QueryReferenceBroker.doRetrieveCollection(QueryRe ferenceBroker.java:768) at org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollection(QueryRefe renceBroker.java:726) at org.apache.ojb.broker.core.QueryReferenceBroker.doRetrieveCollections(QueryR eferenceBroker.java:984) at org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollections(QueryRef erenceBroker.java:951) at org.apache.ojb.broker.cache.ObjectCacheTwoLevelImpl.materializeFullObject(Ob jectCacheTwoLevelImpl.java:413) at org.apache.ojb.broker.cache.ObjectCacheTwoLevelImpl.lookup(ObjectCacheTwoLev elImpl.java:380) at org.apache.ojb.broker.cache.CacheDistributor.lookup(CacheDistributor.java:11 4) at org.apache.ojb.broker.cache.MaterializationCache.lookup(MaterializationCache .java:146) at org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReference(QueryRefer enceBroker.java:418) at org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReferences(QueryRefe renceBroker.java:542) at org.apache.ojb.broker.cache.ObjectCacheTwoLevelImpl.materializeFullObject(Ob jectCacheTwoLevelImpl.java:412) at org.apache.ojb.broker.cache.ObjectCacheTwoLevelImpl.lookup(ObjectCacheTwoLev elImpl.java:380) at org.apache.ojb.broker.cache.CacheDistributor.lookup(CacheDistributor.java:11 4) at org.apache.ojb.broker.cache.MaterializationCache.lookup(MaterializationCache .java:146) at org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReference(QueryRefer enceBroker.java:418) at org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReferences(QueryRefe renceBroker.java:542) at org.apache.ojb.broker.cache.ObjectCacheTwoLevelImpl.materializeFullObject(Ob jectCacheTwoLevelImpl.java:412) at org.apache.ojb.broker.cache.ObjectCacheTwoLevelImpl.lookup(ObjectCacheTwoLev elImpl.java:380) at org.apache.ojb.broker.cache.CacheDistributor.lookup(CacheDistributor.java:11 4) at org.apache.ojb.broker.cache.MaterializationCache.lookup(MaterializationCache .java:146) at org.apache.ojb.broker.accesslayer.PlainPrefetcher.buildPrefetchQueries(Plain Prefetcher.java:120) at org.apache.ojb.broker.accesslayer.BasePrefetcher.prefetchRelationship(BasePr efetcher.java:106) at org.apache.ojb.broker.core.QueryReferenceBroker$PBPrefetchingListener.prefet ch(QueryReferenceBroker.java:1138) at org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.be foreMaterialization(QueryReferenceBroker.java:1072) at org.apache.ojb.broker.core.proxy.AbstractIndirectionHandler.beforeMaterializ ation(AbstractIndirectionHandler.java:152) at org.apache.ojb.broker.core.proxy.AbstractIndirectionHandler.getRealSubject(A bstractIndirectionHandler.java:377) at org.apache.ojb.broker.core.proxy.AbstractIndirectionHandler.invoke(AbstractI ndirectionHandler.java:352) at com.serus.dto.wip.AllocationDTO$$EnhancerByCGLIB$$a92013a0.getSalesOrder() at com.serus.action.modWipManagement.LotCompositeViewForm.formatAllocations(Lot CompositeViewForm.java:747) at com.serus.action.modWipManagement.LotCompositeViewAction.perform(LotComposit eViewAction.java:122) at com.serus.controller.MainServlet.doGet(MainServlet.java:411) ... at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:683) at java.lang.Thread.run(Thread.java:595) "Finalizer": at org.apache.commons.dbcp.AbandonedTrace.removeTrace(AbandonedTrace.java:221) - waiting to lock <0x0000000094a82030> (a org.apache.commons.dbcp.PoolingConnection) at org.apache.commons.dbcp.PoolablePreparedStatement.passivate(PoolablePrepared Statement.java:100) at org.apache.commons.dbcp.PoolingConnection.passivateObject(PoolingConnection. java:239) at org.apache.commons.pool.impl.StackKeyedObjectPool.returnObject(StackKeyedObj ectPool.java:158) - locked <0x0000000094a820c8> (a org.apache.commons.pool.impl.StackKeyedObjectPool) at org.apache.commons.dbcp.PoolablePreparedStatement.close(PoolablePreparedStat ement.java:78) at org.apache.commons.dbcp.DelegatingStatement.close(DelegatingStatement.java:1 65) at org.apache.ojb.broker.accesslayer.StatementManager.closeResources(StatementM anager.java:96) at org.apache.ojb.broker.accesslayer.ResultSetAndStatement.close(ResultSetAndSt atement.java:64) at org.apache.ojb.broker.accesslayer.RsIterator.release(RsIterator.java:870) at org.apache.ojb.broker.accesslayer.RsIterator.releaseDbResources(RsIterator.j ava:840) at org.apache.ojb.broker.accesslayer.RsIterator.finalize(RsIterator.java:939) at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method) at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83) at java.lang.ref.Finalizer.access$100(Finalizer.java:14) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160) Found 1 deadlock. ------=_NextPart_000_002B_01C767C1.F9828CA0--