You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Thomas Auinger <th...@byteconsult.de> on 2014/05/20 12:14:11 UTC

Locking Problem with SharedItemStateManager?

Hello,

we have experienced a deadlock situation in our backend (jackrabbit 2.6.5), where it seems that the SharedItemStateManager is the point of failure. Disclaimer: I have only a limited number of thread dumps and by no means an expert in analysing them.

Here is the situation. At 12:12 the dump shows

"ajp-8009-20" daemon prio=10 tid=0x0000000001229800 nid=0x40e8 runnable [0x00007fe03386a000]
   java.lang.Thread.State: RUNNABLE
	at java.util.HashMap.createEntry(Unknown Source)
	at java.util.HashMap.addEntry(Unknown Source)
	at java.util.HashMap.put(Unknown Source)
	at java.util.HashSet.add(Unknown Source)
	at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1783)
	- locked <0x0000000781281568> (a org.apache.jackrabbit.core.state.SharedItemStateManager)
	at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:270)
	at org.apache.jackrabbit.core.state.LocalItemStateManager.getPropertyState(LocalItemStateManager.java:135)
	at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:177)
	- locked <0x00000007f66b6ec0> (a org.apache.jackrabbit.core.state.XAItemStateManager)

With already a few other threads waiting for lock 0x0000000781281568.

Then three minutes later:

"ajp-8009-20" daemon prio=10 tid=0x0000000001229800 nid=0x40e8 waiting for monitor entry [0x00007fe03386a000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at java.util.HashMap.createEntry(Unknown Source)
	at java.util.HashMap.addEntry(Unknown Source)
	at java.util.HashMap.put(Unknown Source)
	at java.util.HashSet.add(Unknown Source)
	at org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1783)
	- locked <0x0000000781281568> (a org.apache.jackrabbit.core.state.SharedItemStateManager)
	at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:270)
	at org.apache.jackrabbit.core.state.LocalItemStateManager.getPropertyState(LocalItemStateManager.java:135)
	at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:177)
	- locked <0x00000007f66b6e70> (a org.apache.jackrabbit.core.state.XAItemStateManager)

And the same other threads (actually plus one more) waiting.

Can anybody make some sense out of this, please?

Especially
- is it just a weird concidence that the same thread/stacktrace is locking the SharedItemStateManager?
- what is thread "ajp-8009-20" blocked on in the second dump?
- how to resolve this ;) ??

Thanks,
Thomas