Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 359339 - DeadLock in CDO Session
Summary: DeadLock in CDO Session
Status: CLOSED FIXED
Alias: None
Product: EMF
Classification: Modeling
Component: cdo.core (show other bugs)
Version: 4.0   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Eike Stepper CLA
QA Contact: Eike Stepper CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-29 02:15 EDT by Eike Stepper CLA
Modified: 2012-09-21 06:49 EDT (History)
0 users

See Also:


Attachments
Backport (8.85 KB, patch)
2011-09-29 02:23 EDT, Eike Stepper CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eike Stepper CLA 2011-09-29 02:15:02 EDT
Cloned from: 354009: DeadLock in CDO Session
https://bugs.eclipse.org/bugs/show_bug.cgi?id=354009

Build Identifier: I20110613-1736

+ While performing our tests we encountered a DeadLock in CDO that seem related to CDOSession/View invalidation.
+ This could not be reproduced in a unit test, a snapshot has been provided to Eike to inspect the threads behaviour
+ When running using yourkit profiler, dead lock was detected, here's the relevant thread information from the snapshot :

Worker-154 [BLOCKED] CPU time: 0:21
org.eclipse.emf.internal.cdo.session.CDOSessionImpl.invalidate(CDOCommitInfo, InternalCDOTransaction)
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl$CDOCommitContextImpl.postCommit(CDOSessionProtocol$CommitTransactionResult)
org.eclipse.emf.internal.cdo.transaction.CDOSingleTransactionStrategyImpl.commit(InternalCDOTransaction, IProgressMonitor)
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.commit(IProgressMonitor)
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.commit()
com.castortech.iris.models.locator.impl.cdo.IrisTransactionDelegateImpl.commit()
com.castortech.iris.models.locator.impl.common.IrisTransactionImpl.commit()
com.castortech.common.interpreter.BaseCodeInterpreter$1.run(IProgressMonitor)
org.eclipse.core.internal.jobs.Worker.run()



Worker-155 [BLOCKED] CPU time: 0:04
org.eclipse.emf.internal.cdo.view.CDOViewImpl.setLastUpdateTime(long)
org.eclipse.emf.internal.cdo.session.CDOSessionImpl.invalidateOrdered(CDOCommitInfo, InternalCDOTransaction)
org.eclipse.emf.internal.cdo.session.CDOSessionImpl.invalidate(CDOCommitInfo, InternalCDOTransaction)
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl$CDOCommitContextImpl.postCommit(CDOSessionProtocol$CommitTransactionResult)
org.eclipse.emf.internal.cdo.transaction.CDOSingleTransactionStrategyImpl.commit(InternalCDOTransaction, IProgressMonitor)
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.commit(IProgressMonitor)
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.commit()
com.castortech.iris.models.locator.impl.cdo.IrisTransactionDelegateImpl.commit()
com.castortech.iris.models.locator.impl.common.IrisTransactionImpl.commit()
com.castortech.common.interpreter.BaseCodeInterpreter$1.run(IProgressMonitor)
org.eclipse.core.internal.jobs.Worker.run()


Reproducible: Always
Comment 1 Eike Stepper CLA 2011-09-29 02:23:05 EDT
Created attachment 204247 [details]
Backport
Comment 2 Eike Stepper CLA 2011-09-29 02:30:32 EDT
Committed revision 9418:
- branches/4.0-maintenance/plugins/org.eclipse.emf.cdo
- branches/4.0-maintenance/plugins/org.eclipse.emf.cdo.tests
Comment 3 Eike Stepper CLA 2011-09-29 02:31:05 EDT
Fixed
Comment 4 Eike Stepper CLA 2012-09-21 06:49:58 EDT
Closing.