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]