JDK-8096127 : IndexOutOfBoundsException after a Wrap in GridPane, tools unresponsive
  • Type: Bug
  • Component: javafx
  • Sub-Component: tools-scenebuilder
  • Affected Version: 8
  • Priority: P3
  • Status: Resolved
  • Resolution: Cannot Reproduce
  • Submitted: 2014-02-17
  • Updated: 2015-06-12
  • Resolved: 2014-02-24
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8Resolved
Related Reports
Blocks :  
Description
When moving around previously wrapped content. The attached file seems to still contain the bad structure,
GridPane located in AnchorPane/SplitPane/Tab Pane/Configuration display a yellow triangle in the Hierarchy when re-opening it.
 

java.lang.IndexOutOfBoundsException: Index: 4, Size: 4
        at java.util.ArrayList.rangeCheck(ArrayList.java:638)
        at java.util.ArrayList.get(ArrayList.java:414)
        at com.oracle.javafx.scenebuilder.kit.editor.job.gridpane.v2.InsertColumnConstraintsJob.redo(InsertColumnConstraintsJob.java:107)
        at com.oracle.javafx.scenebuilder.kit.editor.job.gridpane.v2.InsertColumnConstraintsJob.execute(InsertColumnConstraintsJob.java:89)
        at com.oracle.javafx.scenebuilder.kit.editor.job.v2.CompositeJob.execute(CompositeJob.java:98)
        at com.oracle.javafx.scenebuilder.kit.editor.job.BatchJob.execute(BatchJob.java:117)
        at com.oracle.javafx.scenebuilder.kit.editor.job.BatchJob.execute(BatchJob.java:117)
        at com.oracle.javafx.scenebuilder.kit.editor.JobManager.executeJob(JobManager.java:181)
        at com.oracle.javafx.scenebuilder.kit.editor.JobManager.push(JobManager.java:70)
        at com.oracle.javafx.scenebuilder.kit.editor.drag.DragController.end(DragController.java:125)
        at com.oracle.javafx.scenebuilder.kit.editor.panel.content.gesture.DragGesture.dragDoneOnGlassLayer(DragGesture.java:409)
        at com.oracle.javafx.scenebuilder.kit.editor.panel.content.gesture.DragGesture.access$500(DragGesture.java:75)
        at com.oracle.javafx.scenebuilder.kit.editor.panel.content.gesture.DragGesture$5.handle(DragGesture.java:155)
        at com.oracle.javafx.scenebuilder.kit.editor.panel.content.gesture.DragGesture$5.handle(DragGesture.java:151)
        at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
        at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
        at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
        at javafx.event.Event.fireEvent(Event.java:204)
        at javafx.scene.Scene$DnDGesture.processDropEnd(Scene.java:3062)
        at javafx.scene.Scene$DnDGesture.access$6800(Scene.java:2896)
        at javafx.scene.Scene$DragSourceListener.dragDropEnd(Scene.java:3306)
        at com.sun.javafx.tk.quantum.GlassSceneDnDEventHandler$6.run(GlassSceneDnDEventHandler.java:150)
        at com.sun.javafx.tk.quantum.GlassSceneDnDEventHandler$6.run(GlassSceneDnDEventHandler.java:145)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.tk.quantum.GlassSceneDnDEventHandler.handleDragEnd(GlassSceneDnDEventHandler.java:145)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleDragEnd(GlassViewEventHandler.java:615)
        at com.sun.glass.ui.View.handleDragEnd(View.java:652)
        at com.sun.glass.ui.View.notifyDragEnd(View.java:966)
        at com.sun.glass.ui.mac.MacPasteboard._putItemsFromArray(Native Method)
        at com.sun.glass.ui.mac.MacPasteboard.putItemsFromArray(MacPasteboard.java:143)
        at com.sun.glass.ui.mac.MacPasteboard.putItems(MacPasteboard.java:165)
        at com.sun.glass.ui.mac.MacSystemClipboard.pushToSystem(MacSystemClipboard.java:223)
        at com.sun.glass.ui.SystemClipboard.flush(SystemClipboard.java:51)
        at com.sun.glass.ui.ClipboardAssistance.flush(ClipboardAssistance.java:59)
        at com.sun.javafx.tk.quantum.QuantumClipboard.flush(QuantumClipboard.java:274)
        at com.sun.javafx.tk.quantum.QuantumToolkit.startDrag(QuantumToolkit.java:1150)
        at javafx.scene.Scene$DnDGesture.dragDetectedProcessed(Scene.java:2940)
        at javafx.scene.Scene$DnDGesture.process(Scene.java:3009)
        at javafx.scene.Scene$DnDGesture.access$8400(Scene.java:2896)
        at javafx.scene.Scene$MouseHandler.process(Scene.java:3762)
        at javafx.scene.Scene$MouseHandler.access$1800(Scene.java:3471)
        at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1695)
        at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2486)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:314)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:243)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:345)
        at com.sun.glass.ui.View.handleMouseEvent(View.java:526)
        at com.sun.glass.ui.View.notifyMouse(View.java:898)

Comments
I played some time with the attached FXML but failed to get the IOOBE. Note that while testing the FXML to reproduce this issue, I logged 2 other issues : DTL-6537 and DTL-6542.
24-02-2014

I did not succeed to reproduce same stack as above. But playing with the attached fxml file, I got another exception that is reproducible as follows : open attached jmem.fxml expand the configuration tab and select the GridPane (5 x 7) start DND a node from the GridPane (second column). Full stack : java.lang.IllegalStateException: Bug in FXOMRefresher: FXML dumped in /var/folders/8h/rr0bg9gn6kqc9bsc5605590r0000gr/T/DTL-5996-1999953651428193498.fxml at com.oracle.javafx.scenebuilder.kit.fxom.FXOMRefresher.refresh(FXOMRefresher.java:77) at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.refreshSceneGraph(FXOMDocument.java:268) at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.endUpdate(FXOMDocument.java:255) at com.oracle.javafx.scenebuilder.kit.fxom.FXOMNodes.newDocument(FXOMNodes.java:249) at com.oracle.javafx.scenebuilder.kit.fxom.FXOMArchive.<init>(FXOMArchive.java:56) at com.oracle.javafx.scenebuilder.kit.metadata.util.ClipboardEncoder.makeEncoding(ClipboardEncoder.java:78) at com.oracle.javafx.scenebuilder.kit.editor.drag.source.DocumentDragSource.makeClipboardContent(DocumentDragSource.java:194) at com.oracle.javafx.scenebuilder.kit.editor.panel.content.gesture.mouse.SelectAndMoveGesture.mouseDragDetected(SelectAndMoveGesture.java:185) at com.oracle.javafx.scenebuilder.kit.editor.panel.content.gesture.mouse.AbstractMouseDragGesture$1.handle(AbstractMouseDragGesture.java:84) at com.oracle.javafx.scenebuilder.kit.editor.panel.content.gesture.mouse.AbstractMouseDragGesture$1.handle(AbstractMouseDragGesture.java:80) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at javafx.event.Event.fireEvent(Event.java:204) at javafx.scene.Scene$DnDGesture.fireEvent(Scene.java:2920) at javafx.scene.Scene$DnDGesture.process(Scene.java:2999) at javafx.scene.Scene$DnDGesture.access$8400(Scene.java:2896) at javafx.scene.Scene$MouseHandler.process(Scene.java:3762) at javafx.scene.Scene$MouseHandler.access$1800(Scene.java:3471) at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1695) at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2486) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:314) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:243) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:345) at com.sun.glass.ui.View.handleMouseEvent(View.java:526) at com.sun.glass.ui.View.notifyMouse(View.java:898) Caused by: java.io.IOException: javafx.fxml.LoadException: /Users/slionsp/tmp/FXML/jmem.fxml:10 at com.oracle.javafx.scenebuilder.kit.fxom.FXOMLoader.load(FXOMLoader.java:92) at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.<init>(FXOMDocument.java:80) at com.oracle.javafx.scenebuilder.kit.fxom.FXOMRefresher.refresh(FXOMRefresher.java:55) ... 43 more Caused by: javafx.fxml.LoadException: /Users/slionsp/tmp/FXML/jmem.fxml:10 at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617) at javafx.fxml.FXMLLoader.access$700(FXMLLoader.java:104) at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1014) at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740) at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2723) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527) at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425) at com.oracle.javafx.scenebuilder.kit.fxom.FXOMLoader.load(FXOMLoader.java:89) ... 45 more Caused by: java.lang.IllegalAccessException: Class sun.reflect.misc.ReflectUtil can not access a member of class javafx.collections.FXCollections with modifiers "private" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:101) at java.lang.Class.newInstance(Class.java:427) at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51) at javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1010) ... 50 more
20-02-2014