Bug 535080 - java.util.ConcurrentModificationException when closing a modeling project
Summary: java.util.ConcurrentModificationException when closing a modeling project
Status: NEW
Alias: None
Product: Sirius
Classification: Modeling
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 10
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2018-05-24 12:15 EDT by Guillaume Coutable CLA
Modified: 2018-06-05 05:45 EDT (History)
1 user (show)

See Also:


Attachments
Project used for the step to reproduce (14.70 KB, application/x-zip-compressed)
2018-05-24 12:15 EDT, Guillaume Coutable CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Guillaume Coutable CLA 2018-05-24 12:15:19 EDT
Created attachment 274179 [details]
Project used for the step to reproduce

This issue has been detected with Sirius 6.0M7 on Windows and Linux

Step to reproduce:
1- Import the attachment project
2- Add the modeling project to the project
3- close the project

An exception is thrown in the error log:
java.util.ConcurrentModificationException
	at org.eclipse.emf.common.util.AbstractEList$EIterator.checkModCount(AbstractEList.java:751)
	at org.eclipse.emf.common.util.AbstractEList$EIterator.doNext(AbstractEList.java:699)
	at org.eclipse.emf.common.util.AbstractEList$EIterator.next(AbstractEList.java:685)
	at org.eclipse.sirius.business.internal.session.danalysis.DAnalysisSessionImpl.disableAndRemoveECrossReferenceAdapters(DAnalysisSessionImpl.java:314)
	at org.eclipse.sirius.business.internal.session.danalysis.DAnalysisSessionImpl.close(DAnalysisSessionImpl.java:1280)
	at org.eclipse.sirius.business.internal.session.danalysis.SessionResourcesSynchronizer.processAction(SessionResourcesSynchronizer.java:168)
	at org.eclipse.sirius.business.internal.session.danalysis.SessionResourcesSynchronizer.statusesChanged(SessionResourcesSynchronizer.java:108)
	at org.eclipse.sirius.common.tools.api.resource.ResourceSetSync.notifyClientsInBatch(ResourceSetSync.java:392)
	at org.eclipse.sirius.common.tools.api.resource.ResourceSetSync.statusesChanged(ResourceSetSync.java:447)
	at org.eclipse.sirius.common.tools.internal.resource.ResourceSyncClientNotifier.run(ResourceSyncClientNotifier.java:78)
	at org.eclipse.sirius.common.tools.internal.resource.EditingSessionWorkspaceListener.resourceChanged(EditingSessionWorkspaceListener.java:59)
	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:297)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:287)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:150)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:376)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1499)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:46)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)