Hi,
Deadlock still occurs in r385412.
Find enclosed thread dump.
Przemo
Full thread dump Java HotSpot(TM) Client VM (1.4.2_08-b03 mixed mode):
"Thread-5" prio=5 tid=0x030025e0 nid=0xe34 in Object.wait() [355f000..355fd8c]
at java.lang.Object.wait(Native Method)
- waiting on <0x114892e0> (a
EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock)
at java.lang.Object.wait(Object.java:429)
at
EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
Source)
- locked <0x114892e0> (a
EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.acquireWriteLock(SharedItemStateManager.java:1148)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.access$200(SharedItemStateManager.java:110)
at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:461)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:662)
at
org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:150)
at
org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:128)
- locked <0x11532220> (a org.apache.jackrabbit.core.TransactionContext)
at
org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:300)
at
com.oyster.mom.contentserver.jcr.transaction.JackrabbitUserTransaction.commit(JackrabbitUserTransaction.java:102)
at
com.oyster.mom.contentserver.jcr.transaction.JrTestDeadlock.run(JrTestDeadlock.java:97)
"Thread-4" prio=5 tid=0x02ff72a0 nid=0xda0 in Object.wait() [351f000..351fd8c]
at java.lang.Object.wait(Native Method)
- waiting on <0x114892e0> (a
EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock)
at java.lang.Object.wait(Object.java:429)
at
EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock.acquire(Unknown
Source)
- locked <0x114892e0> (a
EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock$WriterLock)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.acquireWriteLock(SharedItemStateManager.java:1148)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.access$200(SharedItemStateManager.java:110)
at
org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:461)
at
org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:662)
at
org.apache.jackrabbit.core.state.XAItemStateManager.prepare(XAItemStateManager.java:150)
at
org.apache.jackrabbit.core.TransactionContext.prepare(TransactionContext.java:128)
- locked <0x115425e0> (a org.apache.jackrabbit.core.TransactionContext)
at
org.apache.jackrabbit.core.XASessionImpl.prepare(XASessionImpl.java:300)
at
com.oyster.mom.contentserver.jcr.transaction.JackrabbitUserTransaction.commit(JackrabbitUserTransaction.java:102)
at
com.oyster.mom.contentserver.jcr.transaction.JrTestDeadlock.run(JrTestDeadlock.java:97)
"IndexMerger" daemon prio=5 tid=0x02ffdac8 nid=0x8e0 in Object.wait()
[34df000..34dfd8c]
at java.lang.Object.wait(Native Method)
- waiting on <0x114e70a8> (a
org.apache.commons.collections.buffer.BlockingBuffer)
at java.lang.Object.wait(Object.java:429)
at
org.apache.commons.collections.buffer.BlockingBuffer.remove(BlockingBuffer.java:107)
- locked <0x114e70a8> (a
org.apache.commons.collections.buffer.BlockingBuffer)
at
org.apache.jackrabbit.core.query.lucene.IndexMerger.run(IndexMerger.java:235)
"Thread-2" daemon prio=5 tid=0x0300aca8 nid=0xee8 in Object.wait()
[349f000..349fd8c]
at java.lang.Object.wait(Native Method)
- waiting on <0x114e7108> (a java.util.TaskQueue)
at java.util.TimerThread.mainLoop(Timer.java:429)
- locked <0x114e7108> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:382)
"Thread-1" daemon prio=5 tid=0x02ff8208 nid=0xfb0 in Object.wait()
[345f000..345fd8c]
at java.lang.Object.wait(Native Method)
- waiting on <0x114e2dc8> (a java.util.TaskQueue)
at java.lang.Object.wait(Object.java:429)
at java.util.TimerThread.mainLoop(Timer.java:403)
- locked <0x114e2dc8> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:382)
"ObservationManager" daemon prio=5 tid=0x02e86ad8 nid=0xbd0 in Object.wait()
[341f000..341fd8c]
at java.lang.Object.wait(Native Method)
- waiting on <0x114df5b8> (a
org.apache.commons.collections.buffer.BlockingBuffer)
at java.lang.Object.wait(Object.java:429)
at
org.apache.commons.collections.buffer.BlockingBuffer.remove(BlockingBuffer.java:107)
- locked <0x114df5b8> (a
org.apache.commons.collections.buffer.BlockingBuffer)
at
org.apache.jackrabbit.core.observation.ObservationManagerFactory.run(ObservationManagerFactory.java:155)
at java.lang.Thread.run(Thread.java:534)
"Signal Dispatcher" daemon prio=10 tid=0x009ff3a0 nid=0xfe4 waiting on
condition [0..0]
"Finalizer" daemon prio=9 tid=0x009fc608 nid=0xef0 in Object.wait()
[2c9f000..2c9fd8c]
at java.lang.Object.wait(Native Method)
- waiting on <0x113d6e88> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
- locked <0x113d6e88> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x009fb288 nid=0x4b4 in Object.wait()
[2c5f000..2c5fd8c]
at java.lang.Object.wait(Native Method)
- waiting on <0x113d6ef0> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:429)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
- locked <0x113d6ef0> (a java.lang.ref.Reference$Lock)
"main" prio=5 tid=0x00036030 nid=0x5e8 in Object.wait() [7f000..7fc38]
at java.lang.Object.wait(Native Method)
- waiting on <0x11515638> (a
com.oyster.mom.contentserver.jcr.transaction.JrTestDeadlock)
at java.lang.Thread.join(Thread.java:1001)
- locked <0x11515638> (a
com.oyster.mom.contentserver.jcr.transaction.JrTestDeadlock)
at java.lang.Thread.join(Thread.java:1054)
at
com.oyster.mom.contentserver.jcr.transaction.JrTestDeadlock.main(JrTestDeadlock.java:33)
"VM Thread" prio=5 tid=0x00a3b730 nid=0x33c runnable
"VM Periodic Task Thread" prio=10 tid=0x00a3ce80 nid=0xe70 waiting on condition
"Suspend Checker Thread" prio=10 tid=0x009fea40 nid=0xfbc runnable