Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 482676

Summary: ConcurrentModificationException when opening a nested graph when using Java 7.
Product: [Tools] GEF Reporter: Matthias Wienand <matthias.wienand>
Component: GEF ZestAssignee: gef-inbox <gef-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 0.2.0   
Target Milestone: 4.0.0 / 3.11.0 (Neon) M4   
Hardware: All   
OS: All   
Whiteboard:

Description Matthias Wienand CLA 2015-11-20 07:03:07 EST
Within the Zest Graph Example, when using Java 7, a ConcurrentModificationException is thrown when opening a nested graph. The exception seems to be related to a JavaFX bug [1]. It can probably be fixed by postponing scene graph updates that originate from scene-property changes.

[1] https://bugs.openjdk.java.net/browse/JDK-8124231
Comment 1 Matthias Wienand CLA 2015-11-20 07:13:14 EST
I tracked the issue down to GEF4 FX AbstractAnchor, where the anchor positions are initially updated (causing scene-graph changes as Connections are refreshed) after registering a VisualChangeListener in response to a scene-property change. To prevent the ConcurrentModificationException, I postponed updating the anchor positions via Platform.runLater(). The code is published on the master branch. Therefore, I resolve this ticket as fixed for 3.11.0M4.