You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Robert Haycock <Ro...@artificial-solutions.com> on 2013/12/11 17:25:02 UTC

Deadlock? Jackrabbit 2.4.4

Hi,

Jackrabbit 2.4.4

We appear to be getting deadlock during a save and logout.

When a users' request has finished we call logout() on the session. On another thread we are performing a move() then a save().

Any ideas?

Here's the stack...

Thread 1171: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Interpreted frame)
- java.lang.Object.wait() @bci=2, line=503 (Interpreted frame)
- EDU.oswego.cs.dl.util.concurrent.Latch.acquire() @bci=22 (Interpreted frame)
- org.apache.jackrabbit.core.state.FineGrainedISMLocking.acquireWriteLock(org.apache.jackrabbit.core.state.ChangeLog) @bci=109, line=152 (Interpreted frame)
- org.apache.jackrabbit.core.state.SharedItemStateManager.acquireWriteLock(org.apache.jackrabbit.core.state.ChangeLog) @bci=5, line=1858 (Interpreted frame)
- org.apache.jackrabbit.core.state.SharedItemStateManager.access$200(org.apache.jackrabbit.core.state.SharedItemStateManager, org.apache.jackrabbit.core.state.ChangeLog) @bci=2, line=113 (Interpreted frame)
- org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin() @bci=65, line=573 (Interpreted frame)
- org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(org.apache.jackrabbit.core.state.ChangeLog, org.apache.jackrabbit.core.observation.EventStateCollectionFactory, org.apache.jackrabbit.core.virtual.VirtualItemStateProvider) @bci=15, line=1467 (Interpreted frame)
- org.apache.jackrabbit.core.state.SharedItemStateManager.update(org.apache.jackrabbit.core.state.ChangeLog, org.apache.jackrabbit.core.observation.EventStateCollectionFactory) @bci=4, line=1497 (Interpreted frame)
- org.apache.jackrabbit.core.state.LocalItemStateManager.update(org.apache.jackrabbit.core.state.ChangeLog) @bci=9, line=400 (Interpreted frame)
- org.apache.jackrabbit.core.state.LocalItemStateManager.update() @bci=32, line=375 (Interpreted frame)
- org.apache.jackrabbit.core.lock.LockManagerImpl.removeLockProperties(org.apache.jackrabbit.core.NodeImpl) @bci=205, line=943 (Interpreted frame)
- org.apache.jackrabbit.core.lock.LockManagerImpl.unlock(org.apache.jackrabbit.core.NodeImpl) @bci=2, line=581 (Interpreted frame)
- org.apache.jackrabbit.core.lock.SessionLockManager.unlock(java.lang.String) @bci=102, line=203 (Interpreted frame)
- org.apache.jackrabbit.core.NodeImpl.unlock() @bci=24, line=3008 (Interpreted frame)
- org.apache.jackrabbit.core.lock.LockManagerImpl$InternalLockInfo.loggingOut(org.apache.jackrabbit.core.SessionImpl) @bci=85, line=1246 (Interpreted frame)
- org.apache.jackrabbit.core.SessionImpl.notifyLoggingOut() @bci=49, line=551 (Interpreted frame)
- org.apache.jackrabbit.core.SessionImpl.logout() @bci=28, line=953 (Interpreted frame)
- org.apache.jackrabbit.core.XASessionImpl.logout() @bci=1, line=392 (Interpreted frame)
...


Thread 1163: (state = BLOCKED)
- org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(org.apache.jackrabbit.core.id.ItemId) @bci=18, line=170 (Compiled frame)
- org.apache.jackrabbit.core.state.SessionItemStateManager.getItemState(org.apache.jackrabbit.core.id.ItemId) @bci=43, line=161 (Compiled frame)
- org.apache.jackrabbit.core.HierarchyManagerImpl.getItemState(org.apache.jackrabbit.core.id.ItemId) @bci=5, line=152 (Compiled frame)
- org.apache.jackrabbit.core.HierarchyManagerImpl.getPath(org.apache.jackrabbit.core.id.ItemId) @bci=32, line=395 (Compiled frame)
- org.apache.jackrabbit.core.CachingHierarchyManager.getPath(org.apache.jackrabbit.core.id.ItemId) @bci=69, line=244 (Compiled frame)
- org.apache.jackrabbit.core.ItemImpl.getPrimaryPath() @bci=11, line=188 (Interpreted frame)
- org.apache.jackrabbit.core.NodeImpl.getPrimaryPath() @bci=8, line=2779 (Interpreted frame)
- org.apache.jackrabbit.core.lock.LockManagerImpl.refresh(org.apache.jackrabbit.spi.commons.name.PathMap$Element) @bci=77, line=1114 (Interpreted frame)
- org.apache.jackrabbit.core.lock.LockManagerImpl.nodeMoved(org.apache.jackrabbit.spi.Path, org.apache.jackrabbit.spi.Path) @bci=26, line=1166 (Interpreted frame)
- org.apache.jackrabbit.core.lock.LockManagerImpl.onEvent(javax.jcr.observation.EventIterator) @bci=80, line=1050 (Interpreted frame)
- org.apache.jackrabbit.core.observation.EventConsumer.consumeEvents(org.apache.jackrabbit.core.observation.EventStateCollection) @bci=177, line=249 (Compiled frame)
- org.apache.jackrabbit.core.observation.ObservationDispatcher.dispatchEvents(org.apache.jackrabbit.core.observation.EventStateCollection) @bci=83, line=214 (Interpreted frame)
- org.apache.jackrabbit.core.observation.EventStateCollection.dispatch() @bci=5, line=475 (Interpreted frame)
- org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end() @bci=186, line=806 (Interpreted frame)
- org.apache.jackrabbit.core.state.SharedItemStateManager.update(org.apache.jackrabbit.core.state.ChangeLog, org.apache.jackrabbit.core.observation.EventStateCollectionFactory) @bci=7, line=1497 (Interpreted frame)
- org.apache.jackrabbit.core.state.LocalItemStateManager.update(org.apache.jackrabbit.core.state.ChangeLog) @bci=9, line=400 (Interpreted frame)
- org.apache.jackrabbit.core.state.XAItemStateManager.update(org.apache.jackrabbit.core.state.ChangeLog) @bci=20, line=354 (Interpreted frame)
- org.apache.jackrabbit.core.state.LocalItemStateManager.update() @bci=32, line=375 (Interpreted frame)
- org.apache.jackrabbit.core.state.SessionItemStateManager.update() @bci=4, line=275 (Interpreted frame)
- org.apache.jackrabbit.core.ItemSaveOperation.perform(org.apache.jackrabbit.core.session.SessionContext) @bci=825, line=258 (Compiled frame)
- org.apache.jackrabbit.core.session.SessionState.perform(org.apache.jackrabbit.core.session.SessionOperation) @bci=290, line=216 (Compiled frame)
- org.apache.jackrabbit.core.ItemImpl.perform(org.apache.jackrabbit.core.session.SessionOperation) @bci=12, line=91 (Compiled frame)
- org.apache.jackrabbit.core.ItemImpl.save() @bci=12, line=329 (Interpreted frame)
- org.apache.jackrabbit.core.session.SessionSaveOperation.perform(org.apache.jackrabbit.core.session.SessionContext) @bci=169, line=65 (Interpreted frame)
- org.apache.jackrabbit.core.session.SessionState.perform(org.apache.jackrabbit.core.session.SessionOperation) @bci=290, line=216 (Compiled frame)
- org.apache.jackrabbit.core.SessionImpl.perform(org.apache.jackrabbit.core.session.SessionOperation) @bci=8, line=361 (Interpreted frame)
- org.apache.jackrabbit.core.SessionImpl.save() @bci=21, line=812 (Interpreted frame)
...


Rob.

AW: Deadlock? Jackrabbit 2.4.4

Posted by KÖLL Claus <C....@TIROL.GV.AT>.
Hi,

Please use if possible a newer version of jackrabbit. 
More deadlock issues have been fixed in newer versions ...

greets
claus