Steps to reproduce:
1) Use bundles from http://jre.us.oracle.com/java/re/javafx/8.0/prepromote/ea/b102/bundles/
2) Launch 3DViewer sample as:
jdk1.8.0/bin/java -jar qa-samples/3DViewer.jar
3) Click "save for "Custom Color"
The sample will hang and exceptions will be thrown:
Exception in thread "JavaFX Application Thread" java.lang.ArrayIndexOutOfBoundsxception: 0
at javafx.scene.layout.GridPane$CompositeSize.setMaxSize(GridPane.java:478)
at javafx.scene.layout.GridPane$CompositeSize.access$1200(GridPane.java:2429)
at javafx.scene.layout.GridPane.computeMaxWidths(GridPane.java:1494)
at javafx.scene.layout.GridPane.growOrShrinkColumnWidths(GridPane.java:166)
at javafx.scene.layout.GridPane.adjustColumnWidths(GridPane.java:2000)
at javafx.scene.layout.GridPane.layoutChildren(GridPane.java:1674)
at javafx.scene.Parent.layout(Parent.java:1052)
at javafx.scene.Parent.layout(Parent.java:1058)
at javafx.scene.Parent.layout(Parent.java:1058)
at javafx.scene.Parent.layout(Parent.java:1058)
at javafx.scene.Group.impl_computeLayoutBounds(Group.java:159)
at javafx.scene.Node$15.computeBounds(Node.java:3123)
at javafx.scene.Node$LazyBoundsProperty.get(Node.java:8787)
at javafx.scene.Node$LazyBoundsProperty.get(Node.java:8757)
at javafx.scene.Node.getLayoutBounds(Node.java:3138)
at javafx.stage.PopupWindow.syncWithRootBounds(PopupWindow.java:478)
at javafx.stage.PopupWindow.access$000(PopupWindow.java:91)
at javafx.stage.PopupWindow$1.invalidated(PopupWindow.java:106)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValuehangedEvent(ExpressionHelper.java:135)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpresionHelper.java:80)
at javafx.scene.Node$LazyBoundsProperty.invalidate(Node.java:8797)
at javafx.scene.Node.impl_layoutBoundsChanged(Node.java:3293)
at javafx.scene.Node.impl_notifyLayoutBoundsChanged(Node.java:3693)
at javafx.scene.Node.impl_geomChanged(Node.java:3645)
at javafx.scene.Parent.childBoundsChanged(Parent.java:1689)
at javafx.scene.Node.notifyParentOfBoundsChange(Node.java:3715)
at javafx.scene.Node.transformedBoundsChanged(Node.java:3676)
at javafx.scene.Node.localBoundsChanged(Node.java:3658)
at javafx.scene.Node.impl_geomChanged(Node.java:3646)
at javafx.scene.Parent.childBoundsChanged(Parent.java:1689)
at javafx.scene.Node.notifyParentOfBoundsChange(Node.java:3715)
at javafx.scene.Node.transformedBoundsChanged(Node.java:3676)
at javafx.scene.Node.localBoundsChanged(Node.java:3658)
at javafx.scene.Node.impl_geomChanged(Node.java:3646)
at javafx.scene.Parent.childBoundsChanged(Parent.java:1689)
at javafx.scene.Node.notifyParentOfBoundsChange(Node.java:3715)
at javafx.scene.Node.transformedBoundsChanged(Node.java:3676)
at javafx.scene.Node.localBoundsChanged(Node.java:3658)
at javafx.scene.Node.impl_geomChanged(Node.java:3646)
at javafx.scene.Parent$1.onChanged(Parent.java:328)
at com.sun.javafx.collections.TrackableObservableList$1.onChanged(TrackbleObservableList.java:48)
at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangdEvent(ListListenerHelper.java:315)
at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(istListenerHelper.java:72)
at javafx.collections.ObservableListBase.fireChange(ObservableListBase.ava:233)
at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:42)
at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.jav:541)
at javafx.collections.ObservableListBase.endChange(ObservableListBase.jva:205)
at javafx.collections.ModifiableObservableListBase.add(ModifiableObservbleListBase.java:155)
at java.util.AbstractList.add(AbstractList.java:108)
at com.sun.javafx.collections.VetoableListDecorator.add(VetoableListDecrator.java:200)
at javafx.scene.layout.GridPane.add(GridPane.java:972)
at com.sun.javafx.scene.control.skin.ColorPalette.buildCustomColors(ColrPalette.java:182)
at com.sun.javafx.scene.control.skin.ColorPalette.access$200(ColorPalete.java:55)
at com.sun.javafx.scene.control.skin.ColorPalette$1$2.run(ColorPalette.ava:107)
at com.sun.javafx.scene.control.skin.CustomColorDialog$ControlsPane$4.hndle(CustomColorDialog.java:660)
at com.sun.javafx.scene.control.skin.CustomColorDialog$ControlsPane$4.hndle(CustomColorDialog.java:657)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(ComositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(ompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDipatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispachChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDipatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispachChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDipatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispachChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:203)
at javafx.scene.Node.fireEvent(Node.java:8035)
at javafx.scene.control.Button.fire(Button.java:184)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(BttonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorkinBase.java:90)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorkinBase.java:83)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord
andleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(ComositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(ompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDipatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispachChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDipatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispachChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDipatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispachChainImpl.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:203)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3591)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3385)
at javafx.scene.Scene$MouseHandler.access$1900(Scene.java:3336)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1618)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2395)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotificatin.run(GlassViewEventHandler.java:312)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotificatin.run(GlassViewEventHandler.java:237)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlasViewEventHandler.java:354)
at com.sun.glass.ui.View.handleMouseEvent(View.java:514)
at com.sun.glass.ui.View.notifyMouse(View.java:877)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$300(WinApplication.java:3)
at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:101)
at java.lang.Thread.run(Thread.java:724)
java.lang.ArrayIndexOutOfBoundsException: 0
at javafx.scene.layout.GridPane$CompositeSize.getSize(GridPane.java:247)
at javafx.scene.layout.GridPane$CompositeSize.access$900(GridPane.java:429)
at javafx.scene.layout.GridPane.layoutChildren(GridPane.java:1710)
at javafx.scene.Parent.layout(Parent.java:1052)
at javafx.scene.Parent.layout(Parent.java:1058)
at javafx.scene.Parent.layout(Parent.java:1058)
at javafx.scene.Parent.layout(Parent.java:1058)
at javafx.scene.Scene.doLayoutPass(Scene.java:545)
at javafx.scene.Scene.access$3700(Scene.java:189)
at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2296)
at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:328)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:48)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:48)
at com.sun.javafx.tk.quantum.QuantumToolkit$13.run(QuantumToolkit.java:25)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcer.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$300(WinApplication.java:3)
at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:101)
at java.lang.Thread.run(Thread.java:724)
1) Use bundles from http://jre.us.oracle.com/java/re/javafx/8.0/prepromote/ea/b102/bundles/
2) Launch 3DViewer sample as:
jdk1.8.0/bin/java -jar qa-samples/3DViewer.jar
3) Click "save for "Custom Color"
The sample will hang and exceptions will be thrown:
Exception in thread "JavaFX Application Thread" java.lang.ArrayIndexOutOfBoundsxception: 0
at javafx.scene.layout.GridPane$CompositeSize.setMaxSize(GridPane.java:478)
at javafx.scene.layout.GridPane$CompositeSize.access$1200(GridPane.java:2429)
at javafx.scene.layout.GridPane.computeMaxWidths(GridPane.java:1494)
at javafx.scene.layout.GridPane.growOrShrinkColumnWidths(GridPane.java:166)
at javafx.scene.layout.GridPane.adjustColumnWidths(GridPane.java:2000)
at javafx.scene.layout.GridPane.layoutChildren(GridPane.java:1674)
at javafx.scene.Parent.layout(Parent.java:1052)
at javafx.scene.Parent.layout(Parent.java:1058)
at javafx.scene.Parent.layout(Parent.java:1058)
at javafx.scene.Parent.layout(Parent.java:1058)
at javafx.scene.Group.impl_computeLayoutBounds(Group.java:159)
at javafx.scene.Node$15.computeBounds(Node.java:3123)
at javafx.scene.Node$LazyBoundsProperty.get(Node.java:8787)
at javafx.scene.Node$LazyBoundsProperty.get(Node.java:8757)
at javafx.scene.Node.getLayoutBounds(Node.java:3138)
at javafx.stage.PopupWindow.syncWithRootBounds(PopupWindow.java:478)
at javafx.stage.PopupWindow.access$000(PopupWindow.java:91)
at javafx.stage.PopupWindow$1.invalidated(PopupWindow.java:106)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValuehangedEvent(ExpressionHelper.java:135)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpresionHelper.java:80)
at javafx.scene.Node$LazyBoundsProperty.invalidate(Node.java:8797)
at javafx.scene.Node.impl_layoutBoundsChanged(Node.java:3293)
at javafx.scene.Node.impl_notifyLayoutBoundsChanged(Node.java:3693)
at javafx.scene.Node.impl_geomChanged(Node.java:3645)
at javafx.scene.Parent.childBoundsChanged(Parent.java:1689)
at javafx.scene.Node.notifyParentOfBoundsChange(Node.java:3715)
at javafx.scene.Node.transformedBoundsChanged(Node.java:3676)
at javafx.scene.Node.localBoundsChanged(Node.java:3658)
at javafx.scene.Node.impl_geomChanged(Node.java:3646)
at javafx.scene.Parent.childBoundsChanged(Parent.java:1689)
at javafx.scene.Node.notifyParentOfBoundsChange(Node.java:3715)
at javafx.scene.Node.transformedBoundsChanged(Node.java:3676)
at javafx.scene.Node.localBoundsChanged(Node.java:3658)
at javafx.scene.Node.impl_geomChanged(Node.java:3646)
at javafx.scene.Parent.childBoundsChanged(Parent.java:1689)
at javafx.scene.Node.notifyParentOfBoundsChange(Node.java:3715)
at javafx.scene.Node.transformedBoundsChanged(Node.java:3676)
at javafx.scene.Node.localBoundsChanged(Node.java:3658)
at javafx.scene.Node.impl_geomChanged(Node.java:3646)
at javafx.scene.Parent$1.onChanged(Parent.java:328)
at com.sun.javafx.collections.TrackableObservableList$1.onChanged(TrackbleObservableList.java:48)
at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangdEvent(ListListenerHelper.java:315)
at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(istListenerHelper.java:72)
at javafx.collections.ObservableListBase.fireChange(ObservableListBase.ava:233)
at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:42)
at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.jav:541)
at javafx.collections.ObservableListBase.endChange(ObservableListBase.jva:205)
at javafx.collections.ModifiableObservableListBase.add(ModifiableObservbleListBase.java:155)
at java.util.AbstractList.add(AbstractList.java:108)
at com.sun.javafx.collections.VetoableListDecorator.add(VetoableListDecrator.java:200)
at javafx.scene.layout.GridPane.add(GridPane.java:972)
at com.sun.javafx.scene.control.skin.ColorPalette.buildCustomColors(ColrPalette.java:182)
at com.sun.javafx.scene.control.skin.ColorPalette.access$200(ColorPalete.java:55)
at com.sun.javafx.scene.control.skin.ColorPalette$1$2.run(ColorPalette.ava:107)
at com.sun.javafx.scene.control.skin.CustomColorDialog$ControlsPane$4.hndle(CustomColorDialog.java:660)
at com.sun.javafx.scene.control.skin.CustomColorDialog$ControlsPane$4.hndle(CustomColorDialog.java:657)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(ComositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(ompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDipatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispachChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDipatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispachChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDipatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispachChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:203)
at javafx.scene.Node.fireEvent(Node.java:8035)
at javafx.scene.control.Button.fire(Button.java:184)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(BttonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorkinBase.java:90)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorkinBase.java:83)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord
andleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(ComositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(ompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDipatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispachChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDipatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispachChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDipatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispachChainImpl.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:203)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3591)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3385)
at javafx.scene.Scene$MouseHandler.access$1900(Scene.java:3336)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1618)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2395)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotificatin.run(GlassViewEventHandler.java:312)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotificatin.run(GlassViewEventHandler.java:237)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlasViewEventHandler.java:354)
at com.sun.glass.ui.View.handleMouseEvent(View.java:514)
at com.sun.glass.ui.View.notifyMouse(View.java:877)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$300(WinApplication.java:3)
at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:101)
at java.lang.Thread.run(Thread.java:724)
java.lang.ArrayIndexOutOfBoundsException: 0
at javafx.scene.layout.GridPane$CompositeSize.getSize(GridPane.java:247)
at javafx.scene.layout.GridPane$CompositeSize.access$900(GridPane.java:429)
at javafx.scene.layout.GridPane.layoutChildren(GridPane.java:1710)
at javafx.scene.Parent.layout(Parent.java:1052)
at javafx.scene.Parent.layout(Parent.java:1058)
at javafx.scene.Parent.layout(Parent.java:1058)
at javafx.scene.Parent.layout(Parent.java:1058)
at javafx.scene.Scene.doLayoutPass(Scene.java:545)
at javafx.scene.Scene.access$3700(Scene.java:189)
at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2296)
at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:328)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:48)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:48)
at com.sun.javafx.tk.quantum.QuantumToolkit$13.run(QuantumToolkit.java:25)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcer.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$300(WinApplication.java:3)
at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:101)
at java.lang.Thread.run(Thread.java:724)