Bug 495323 - Deadlock situation when same model is loaded in different CDOViews
Summary: Deadlock situation when same model is loaded in different CDOViews
Status: NEW
Alias: None
Product: EMF
Classification: Modeling
Component: cdo.core (show other bugs)
Version: 4.13   Edit
Hardware: PC Windows NT
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-06-02 12:15 EDT by Thorsten Schlathölter CLA
Modified: 2020-12-11 10:45 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thorsten Schlathölter CLA 2016-06-02 12:15:14 EDT
As described here

https://www.eclipse.org/forums/index.php/t/1077987/

there is a common deadlock situation when using CDO\Papyrus with more than one Transaction\View.

For completeness I paste the locked threads here:

Daemon System Thread [Attach Listener] (Suspended)	
	Daemon System Thread [Signal Dispatcher] (Suspended)	
	Daemon System Thread [Finalizer] (Suspended)	
	Daemon System Thread [Reference Handler] (Suspended)	
	Thread [main] (Suspended)	
		owns: CDOTransactionImpl  (id=79)	
		owns: CacheAdapter$InverseCrossReferencer  (id=80)	
		waiting for: InheritableThreadLocal<T>  (id=78)	
			owned by: Thread [Worker-1] (Suspended)	
				waiting for: CacheAdapter$InverseCrossReferencer  (id=80)	
					owned by: Thread [main] (Suspended)	
						waiting for: InheritableThreadLocal<T>  (id=78)	
		CDOLegacyAdapter(CDOLegacyWrapper).revisionToInstance() line: 444	
		CDOLegacyAdapter(CDOLegacyWrapper).cdoInternalPostLoad() line: 369	
		CDOTransactionImpl(AbstractCDOView).cleanObject(InternalCDOObject, InternalCDORevision) line: 1950	
		CDOTransactionImpl(AbstractCDOView).createObject(CDOID) line: 1859	
		CDOTransactionImpl(AbstractCDOView).getObject(CDOID, boolean) line: 1661	
		CDOTransactionImpl.getObject(CDOID, boolean) line: 1498	
		CDOTransactionImpl(AbstractCDOView).convertIDToObject(Object) line: 2140	
		CDOStoreImpl.convertIDToObject(InternalCDOView, EObject, EStructuralFeature, int, Object) line: 897	
		CDOStoreImpl.convertToEMF(EObject, InternalCDORevision, EStructuralFeature, int, Object) line: 860	
		CDOStoreImpl.isSet(InternalEObject, EStructuralFeature) line: 248	
		ValueTableImpl(CDOObjectImpl).eDynamicIsSet(int, EStructuralFeature) line: 734	
		ValueTableImpl(BasicEObjectImpl).eIsSet(int) line: 1257	
		ValueTableImpl(BasicEObjectImpl).eIsSet(EStructuralFeature) line: 1241	
		EContentsEList$FeatureIteratorImpl<E>.hasNext() line: 437	
		CacheAdapter(ECrossReferenceAdapter).setTarget(EObject) line: 775	
		CacheAdapter(ECrossReferenceAdapter).setTarget(Notifier) line: 752	
		CacheAdapter.setTarget(Notifier) line: 360	



	Thread [Worker-1] (Suspended)	
	owns: InheritableThreadLocal<T>  (id=78)	
	owns: CDOTransactionImpl  (id=82)	
	owns: SoxRepositoryProject  (id=83)	
	waiting for: CacheAdapter$InverseCrossReferencer  (id=80)	
		owned by: Thread [main] (Suspended)	
			waiting for: InheritableThreadLocal<T>  (id=78)	
				owned by: Thread [Worker-1] (Suspended)	
					waiting for: CacheAdapter$InverseCrossReferencer  (id=80)	
						owned by: Thread [main] (Suspended)	
	CacheAdapter.handleCrossReference(EObject) line: 341	
	AssociationImpl(ElementImpl).eSetDeliver(boolean) line: 988	
	CDOLegacyAdapter(CDOLegacyWrapper).revisionToInstance() line: 520
Comment 1 Eike Stepper CLA 2016-07-31 01:03:19 EDT
Moving all unaddressed bugzillas to 4.6.
Comment 2 Eike Stepper CLA 2017-12-28 01:09:48 EST
Moving all open bugs to 4.7
Comment 3 Eike Stepper CLA 2019-11-08 02:17:33 EST
Moving all unresolved issues to version 4.8-
Comment 4 Eike Stepper CLA 2019-12-13 12:50:43 EST
Moving all unresolved issues to version 4.9
Comment 5 Eike Stepper CLA 2020-12-11 10:45:48 EST
Moving to 4.13.