| Summary: | Concurrent Modification Exception when drag and dropping container mapping with contained elements. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Modeling] Sirius | Reporter: | Aurelien Didier <aurelien.didier51> | ||||
| Component: | Diagram | Assignee: | Project Inbox <sirius.diagram-inbox> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | jessy.mallet, pierre-charles.david | ||||
| Version: | 4.1.1 | Keywords: | triaged | ||||
| Target Milestone: | 5.0.0 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows NT | ||||||
| See Also: |
https://git.eclipse.org/r/87823 https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=ab5a1ccf93c3200b69cc4cc61b349383ae5e75b8 |
||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Aurelien Didier
Created attachment 266078 [details]
Sample projects to try to reproduce the issue
The technical issue (and fix) seem obvious enough, but I was not able to actually reproduce the bug in practice from the information in the forum posts and initial bugzilla comment. I've attached my current partial attempt to reproduce the conditions for triggering the bug.
For reference, the original stack trace from the forum post:
Caused by: java.util.ConcurrentModificationException
at org.eclipse.emf.common.util.AbstractEList$EIterator.checkModCount(AbstractEList.java:758)
at org.eclipse.emf.common.util.AbstractEList$EIterator.doNext(AbstractEList.java:706)
at org.eclipse.emf.common.util.AbstractEList$EIterator.next(AbstractEList.java:692)
at org.eclipse.sirius.diagram.business.internal.helper.task.DnDTasksOperations.moveSubNodes(DnDTasksOperations.java:298)
at org.eclipse.sirius.diagram.business.internal.helper.task.DropinForContainerTaskCommand.execute(DropinForContainerTaskCommand.java:103)
at org.eclipse.sirius.business.api.helper.task.TaskExecutor.execute(TaskExecutor.java:64)
at org.eclipse.sirius.tools.api.command.SiriusCommand.doExecute(SiriusCommand.java:80)
at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135)
at org.eclipse.emf.common.command.CompoundCommand.execute(CompoundCommand.java:261)
at org.eclipse.sirius.diagram.ui.tools.api.command.GMFCommandWrapper.doExecuteWithResult(GMFCommandWrapper.java:102)
at org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand.doExecute(AbstractTransactionalCommand.java:247)
at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150)
at org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy.execute(ICommandProxy.java:68)
at org.eclipse.sirius.diagram.ui.graphical.edit.policies.SiriusContainerDropPolicy$1.execute(SiriusContainerDropPolicy.java:260)
at org.eclipse.gmf.runtime.diagram.ui.commands.CommandProxy.doExecuteWithResult(CommandProxy.java:50)
at org.eclipse.gmf.runtime.common.core.command.AbstractCommand.execute(AbstractCommand.java:134)
at org.eclipse.sirius.diagram.ui.tools.internal.commands.WrappingCommandIgnoringAffectedFiles.execute(WrappingCommandIgnoringAffectedFiles.java:124)
at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:516)
Marking as triaged anyway, because the technical fix looks trivial and without risk. Aurélien, if you have more details on how to tweak the attached project to trigger the bug, don't hesitate. New Gerrit change created: https://git.eclipse.org/r/87823 Gerrit change https://git.eclipse.org/r/87823 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=ab5a1ccf93c3200b69cc4cc61b349383ae5e75b8 Fixed by ab5a1ccf93c3200b69cc4cc61b349383ae5e75b8. No automated test as we do not have a clear reproduction scenario, even manual, but the code change is trivial enough. Validated with Sirius 5.0.0.201705151305 Verified by Jessy. Available in Sirius 5.0.0, see https://wiki.eclipse.org/Sirius/5.0.0 for details. |