When I run attached application I am getting error below.
Also, I was able to reproduce this issue intermittently, when I set ChoiceBox to read only observable list that is being populated on background.
SEVERE: javafx.scene.control.PopupControl$CSSBridge loadSkinClass Failed to load skin 'StringProperty [bean: PopupControl$CSSBridge[id=choice-box-popup-menu, styleClass=context-menu], name: skinClassName, value: com.sun.javafx.scene.control.skin.ContextMenuSkin]' for popup control PopupControl$CSSBridge[id=choice-box-popup-menu, styleClass=context-menu]
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:604)
at java.util.ArrayList.get(ArrayList.java:382)
at com.sun.javafx.collections.ObservableListWrapper.get(ObservableListWrapper.java:229)
at com.sun.javafx.scene.control.skin.ContextMenuContent.computeInitialSize(ContextMenuContent.java:399)
at com.sun.javafx.scene.control.skin.ContextMenuContent.<init>(ContextMenuContent.java:130)
at com.sun.javafx.scene.control.skin.ContextMenuSkin.<init>(ContextMenuSkin.java:72)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at javafx.scene.control.PopupControl$CSSBridge.loadSkinClass(PopupControl.java:1213)
at javafx.scene.control.PopupControl$CSSBridge.access$1300(PopupControl.java:998)
at javafx.scene.control.PopupControl$CSSBridge$2.invalidated(PopupControl.java:1140)
at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:106)
at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:140)
at com.sun.javafx.css.StyleableStringProperty.set(StyleableStringProperty.java:71)
at javafx.scene.control.PopupControl$CSSBridge$2.set(PopupControl.java:1117)
at com.sun.javafx.css.StyleableStringProperty.applyStyle(StyleableStringProperty.java:59)
at com.sun.javafx.css.StyleableStringProperty.applyStyle(StyleableStringProperty.java:31)
at com.sun.javafx.css.StyleableProperty.set(StyleableProperty.java:70)
at com.sun.javafx.css.StyleHelper.transitionToState(StyleHelper.java:900)
at javafx.scene.Node.impl_processCSS(Node.java:7481)
at javafx.scene.Parent.impl_processCSS(Parent.java:1179)
at javafx.scene.Parent.impl_processCSS(Parent.java:1182)
at javafx.scene.Node.impl_processCSS(Node.java:7453)
at javafx.scene.control.PopupControl.recomputeSkinSize(PopupControl.java:855)
at javafx.scene.control.PopupControl.recalculateMinWidth(PopupControl.java:825)
at javafx.scene.control.PopupControl.minWidth(PopupControl.java:710)
at com.sun.javafx.scene.control.skin.ChoiceBoxSkin.computeMinWidth(ChoiceBoxSkin.java:340)
at javafx.scene.control.Control.computeMinWidth(Control.java:373)
at javafx.scene.Parent.minWidth(Parent.java:883)
at javafx.scene.layout.Region.minWidth(Region.java:1118)
at javafx.scene.layout.Region.layoutInArea(Region.java:1792)
at javafx.scene.layout.Region.layoutInArea(Region.java:1768)
at javafx.scene.layout.Region.layoutInArea(Region.java:1709)
at javafx.scene.layout.StackPane.layoutChildren(StackPane.java:330)
at javafx.scene.Parent.layout(Parent.java:1010)
at javafx.scene.Scene.layoutDirtyRoots(Scene.java:516)
at javafx.scene.Scene.doLayoutPass(Scene.java:487)
at javafx.scene.Scene.preferredSize(Scene.java:1495)
at javafx.scene.Scene.impl_preferredSize(Scene.java:1522)
at javafx.stage.Window$10.invalidated(Window.java:723)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:106)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:140)
at javafx.stage.Window.setShowing(Window.java:786)
at javafx.stage.Window.show(Window.java:801)
at javafx.stage.Stage.show(Stage.java:230)
at javafxapplication4.JavaFXApplication4.start(JavaFXApplication4.java:32)
at com.sun.javafx.application.LauncherImpl$5.run(LauncherImpl.java:319)
at com.sun.javafx.application.PlatformImpl$5.run(PlatformImpl.java:207)
at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:173)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
at com.sun.glass.ui.win.WinApplication$3$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:722)
Also, I was able to reproduce this issue intermittently, when I set ChoiceBox to read only observable list that is being populated on background.
SEVERE: javafx.scene.control.PopupControl$CSSBridge loadSkinClass Failed to load skin 'StringProperty [bean: PopupControl$CSSBridge[id=choice-box-popup-menu, styleClass=context-menu], name: skinClassName, value: com.sun.javafx.scene.control.skin.ContextMenuSkin]' for popup control PopupControl$CSSBridge[id=choice-box-popup-menu, styleClass=context-menu]
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:604)
at java.util.ArrayList.get(ArrayList.java:382)
at com.sun.javafx.collections.ObservableListWrapper.get(ObservableListWrapper.java:229)
at com.sun.javafx.scene.control.skin.ContextMenuContent.computeInitialSize(ContextMenuContent.java:399)
at com.sun.javafx.scene.control.skin.ContextMenuContent.<init>(ContextMenuContent.java:130)
at com.sun.javafx.scene.control.skin.ContextMenuSkin.<init>(ContextMenuSkin.java:72)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at javafx.scene.control.PopupControl$CSSBridge.loadSkinClass(PopupControl.java:1213)
at javafx.scene.control.PopupControl$CSSBridge.access$1300(PopupControl.java:998)
at javafx.scene.control.PopupControl$CSSBridge$2.invalidated(PopupControl.java:1140)
at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:106)
at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:140)
at com.sun.javafx.css.StyleableStringProperty.set(StyleableStringProperty.java:71)
at javafx.scene.control.PopupControl$CSSBridge$2.set(PopupControl.java:1117)
at com.sun.javafx.css.StyleableStringProperty.applyStyle(StyleableStringProperty.java:59)
at com.sun.javafx.css.StyleableStringProperty.applyStyle(StyleableStringProperty.java:31)
at com.sun.javafx.css.StyleableProperty.set(StyleableProperty.java:70)
at com.sun.javafx.css.StyleHelper.transitionToState(StyleHelper.java:900)
at javafx.scene.Node.impl_processCSS(Node.java:7481)
at javafx.scene.Parent.impl_processCSS(Parent.java:1179)
at javafx.scene.Parent.impl_processCSS(Parent.java:1182)
at javafx.scene.Node.impl_processCSS(Node.java:7453)
at javafx.scene.control.PopupControl.recomputeSkinSize(PopupControl.java:855)
at javafx.scene.control.PopupControl.recalculateMinWidth(PopupControl.java:825)
at javafx.scene.control.PopupControl.minWidth(PopupControl.java:710)
at com.sun.javafx.scene.control.skin.ChoiceBoxSkin.computeMinWidth(ChoiceBoxSkin.java:340)
at javafx.scene.control.Control.computeMinWidth(Control.java:373)
at javafx.scene.Parent.minWidth(Parent.java:883)
at javafx.scene.layout.Region.minWidth(Region.java:1118)
at javafx.scene.layout.Region.layoutInArea(Region.java:1792)
at javafx.scene.layout.Region.layoutInArea(Region.java:1768)
at javafx.scene.layout.Region.layoutInArea(Region.java:1709)
at javafx.scene.layout.StackPane.layoutChildren(StackPane.java:330)
at javafx.scene.Parent.layout(Parent.java:1010)
at javafx.scene.Scene.layoutDirtyRoots(Scene.java:516)
at javafx.scene.Scene.doLayoutPass(Scene.java:487)
at javafx.scene.Scene.preferredSize(Scene.java:1495)
at javafx.scene.Scene.impl_preferredSize(Scene.java:1522)
at javafx.stage.Window$10.invalidated(Window.java:723)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:106)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:140)
at javafx.stage.Window.setShowing(Window.java:786)
at javafx.stage.Window.show(Window.java:801)
at javafx.stage.Stage.show(Stage.java:230)
at javafxapplication4.JavaFXApplication4.start(JavaFXApplication4.java:32)
at com.sun.javafx.application.LauncherImpl$5.run(LauncherImpl.java:319)
at com.sun.javafx.application.PlatformImpl$5.run(PlatformImpl.java:207)
at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:173)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
at com.sun.glass.ui.win.WinApplication$3$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:722)