I just noticed http://www.nabble.com/-jira--Created:-(JCR-1334)-Deadlock-with-XA-enabled-td 14997630.html. Could that be related given we've deployed JackRabbit as a RAR module within Weblogic?
Regards, Shaun -----Original Message----- From: sbarriba [mailto:[EMAIL PROTECTED] Sent: 08 May 2008 15:02 To: [email protected] Subject: Intermittent JackRabbit dead lock with concurrent QueryImpl.execute() and NodeImpl.getProperty() Hi all, We're running JackRabbit 1.4 with Weblogic 9.1. We're seeing intermittent issues in which the system stops responding. A closer inspection reveals what appears to be a dead lock. The following extract from the thread dump shows Thread 55 is waiting for thread 50 and vice versa. The stacks from the offending threads is included below. Thread 50 is executing a query and Thread 55 is getting a property. Any known issues in this area with JackRabbit 1.4? All help appreciated. Regards, Shaun Blocked lock chains =================== Chain 30: "[ACTIVE] ExecuteThread: '55' for queue: 'weblogic.kernel.Default (self-tuning)'" id=27350 idx=0x1cc tid=26815 waiting for EDU/oswego/cs/dl/util/concurrent/WriterPreferenceReadWriteLock$ReaderLoc [EMAIL PROTECTED] held by: "[ACTIVE] ExecuteThread: '50' for queue: 'weblogic.kernel.Default (self-tuning)'" id=27345 idx=0x220 tid=26810 in chain 1 Chain 36: "[ACTIVE] ExecuteThread: '50' for queue: 'weblogic.kernel.Default (self-tuning)'" id=27345 idx=0x220 tid=26810 waiting for EDU/oswego/cs/dl/util/concurrent/WriterPreferenceReadWriteLock$ReaderLoc [EMAIL PROTECTED] held by: "[ACTIVE] ExecuteThread: '55' for queue: 'weblogic.kernel.Default (self-tuning)'" id=27350 idx=0x1cc tid=26815 in chain 1 Thread Stacks "[ACTIVE] ExecuteThread: '50' for queue: 'weblogic.kernel.Default (self-tuning)'" id=27345 idx=0x220 tid=26810 prio=5 alive, in native, blocked, daemon -- Blocked trying to get lock: EDU/oswego/cs/dl/util/concurrent/WriterPreferenceReadWriteLock$ReaderLoc [EMAIL PROTECTED] lock] at jrockit/vm/Threads.waitForUnblockSignal()V(Native Method) at jrockit/vm/Locks.fatLockBlockOrSpin(Locks.java:1630)[optimized] at jrockit/vm/Locks.lockFat(Locks.java:1731)[optimized] at jrockit/vm/Locks.monitorEnterSecondStage(Locks.java:1277)[optimized] at jrockit/vm/Locks.monitorEnter(Locks.java:2389)[inlined] at jrockit/vm/Locks.monitorEnterForced(Locks.java:872)[optimized] at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method) at jrockit/vm/Locks.monitorEnterUnmatched(Ljava/lang/Object;)V(Native Method) at EDU/oswego/cs/dl/util/concurrent/WriterPreferenceReadWriteLock$ReaderLoc k.acquire()V(Unknown Source)[optimized] at org/apache/jackrabbit/core/state/DefaultISMLocking$ReadLockImpl.<init>(D efaultISMLocking.java:103)[inlined] at org/apache/jackrabbit/core/state/DefaultISMLocking$ReadLockImpl.<init>(D efaultISMLocking.java:97)[inlined] at org/apache/jackrabbit/core/state/DefaultISMLocking.acquireReadLock(Defau ltISMLocking.java:65)[optimized] at org/apache/jackrabbit/core/state/SharedItemStateManager.acquireReadLock( SharedItemStateManager.java:1438)[inlined] at org/apache/jackrabbit/core/state/SharedItemStateManager.getItemState(Sha redItemStateManager.java:237)[optimized] at org/apache/jackrabbit/core/query/lucene/ChildAxisQuery$ChildAxisScorer.i ndexIsValid(ChildAxisQuery.java:360)[inlined] at org/apache/jackrabbit/core/query/lucene/ChildAxisQuery$ChildAxisScorer.n ext(ChildAxisQuery.java:271)[optimized] at org/apache/lucene/search/Scorer.score(Scorer.java:48)[optimized] at org/apache/jackrabbit/core/query/lucene/ChildAxisQuery$ChildAxisScorer.c alculateChildren(ChildAxisQuery.java:317)[inlined] at org/apache/jackrabbit/core/query/lucene/ChildAxisQuery$ChildAxisScorer.n ext(ChildAxisQuery.java:268)[optimized] at org/apache/lucene/search/Scorer.score(Scorer.java:48)[optimized] at org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery$Descenda ntSelfAxisScorer.collectContextHits(DescendantSelfAxisQuery.java:305)[in lined] at org/apache/jackrabbit/core/query/lucene/DescendantSelfAxisQuery$Descenda ntSelfAxisScorer.next(DescendantSelfAxisQuery.java:254)[optimized] at org/apache/lucene/search/Scorer.score(Scorer.java:48)[optimized] at org/apache/lucene/search/IndexSearcher.search(IndexSearcher.java:146)[in lined] at org/apache/lucene/search/IndexSearcher.search(IndexSearcher.java:124)[in lined] at org/apache/lucene/search/Hits.getMoreDocs(Hits.java:74)[optimized] at org/apache/lucene/search/Hits.hitDoc(Hits.java:154)[inlined] at org/apache/lucene/search/Hits.doc(Hits.java:103)[inlined] at org/apache/jackrabbit/core/query/lucene/QueryHits.doc(QueryHits.java:84) [inlined] at org/apache/jackrabbit/core/query/lucene/QueryResultImpl.getResults(Query ResultImpl.java:300)[optimized] at org/apache/jackrabbit/core/query/lucene/QueryResultImpl.<init>(QueryResu ltImpl.java:192)[inlined] at org/apache/jackrabbit/core/query/lucene/QueryImpl.execute(QueryImpl.java :138)[optimized] at org/apache/jackrabbit/core/query/QueryImpl.execute(QueryImpl.java:176)[o ptimized] "[ACTIVE] ExecuteThread: '55' for queue: 'weblogic.kernel.Default (self-tuning)'" id=27350 idx=0x1cc tid=26815 prio=5 alive, in native, daemon at jrockit/vm/Locks.monitorExitUnmatched(Ljava/lang/Object;)V(Native Method) at EDU/oswego/cs/dl/util/concurrent/WriterPreferenceReadWriteLock$ReaderLoc k.acquire()V(Unknown Source)[optimized] at org/apache/jackrabbit/core/state/DefaultISMLocking$ReadLockImpl.<init>(D efaultISMLocking.java:103)[inlined] at org/apache/jackrabbit/core/state/DefaultISMLocking$ReadLockImpl.<init>(D efaultISMLocking.java:97)[inlined] at org/apache/jackrabbit/core/state/DefaultISMLocking.acquireReadLock(Defau ltISMLocking.java:65)[optimized] at org/apache/jackrabbit/core/state/SharedItemStateManager.acquireReadLock( SharedItemStateManager.java:1438)[inlined] at org/apache/jackrabbit/core/state/SharedItemStateManager.hasItemState(Sha redItemStateManager.java:269)[optimized] at org/apache/jackrabbit/core/state/LocalItemStateManager.hasItemState(Loca lItemStateManager.java:178)[inlined] at org/apache/jackrabbit/core/state/XAItemStateManager.hasItemState(XAItemS tateManager.java:252)[optimized] at org/apache/jackrabbit/core/state/SessionItemStateManager.getItemState(Se ssionItemStateManager.java:174)[optimized] at org/apache/jackrabbit/core/ItemManager.createItemInstance(ItemManager.ja va:564)[optimized] at org/apache/jackrabbit/core/ItemManager.getItem(ItemManager.java:395)[inl ined] at org/apache/jackrabbit/core/NodeImpl.getProperty(NodeImpl.java:2553)[opti mized] ^-- Holding lock: org/apache/jackrabbit/core/[EMAIL PROTECTED] lock]
