-
Bug
-
Resolution: Unresolved
-
P4
-
fx2.1
I was playing with LightPlayground. I had selected "Diverging Lens" as an obstacle and was trying to change the width. I selected the entire text and started typing in a new value when this exception arose. I was able to reproduce the problem. There was also a IndexOutOfBoundsException (see after the StackOverflowError stack).
Glass detected outstanding Java exception at -[GlassViewDelegate sendJavaKeyEvent:isDown:]:/Users/dgrieve/repos/javafx/2.1/scrum/controls/jfx/glass/glass-mat-lib-macosx/src/com/sun/mat/ui/GlassViewDelegate.m:368
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.StackOverflowError
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:125)
at com.sun.glass.ui.View.handleKeyEvent(View.java:282)
at com.sun.glass.ui.View.notifyKey(View.java:597)
Caused by: java.lang.StackOverflowError
at javafx.beans.binding.IntegerBinding.invalidate(IntegerBinding.java:148)
at com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:29)
at com.sun.javafx.binding.ExpressionHelper$MultipleInvalidationMultipleChange.fireValueChangedEvent(ExpressionHelper.java:512)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(TextInputControl.java:991)
at javafx.scene.control.TextInputControl$TextProperty.markInvalid(TextInputControl.java:995)
at javafx.scene.control.TextInputControl$TextProperty.invalidate(TextInputControl.java:935)
at javafx.scene.control.TextInputControl$TextProperty.access$100(TextInputControl.java:907)
at javafx.scene.control.TextInputControl$1.invalidated(TextInputControl.java:109)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:140)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextField$TextFieldContent.delete(TextField.java:75)
at javafx.scene.control.TextInputControl$TextProperty.doSet(TextInputControl.java:1003)
at javafx.scene.control.TextInputControl$TextProperty.set(TextInputControl.java:930)
at javafx.scene.control.TextInputControl.setText(TextInputControl.java:162)
at lightplayground.view.obstaclepanel.control.ControlsFactory$4.changed(ControlsFactory.java:194)
at lightplayground.view.obstaclepanel.control.ControlsFactory$4.changed(ControlsFactory.java:182)
at com.sun.javafx.binding.ExpressionHelper$MultipleInvalidationMultipleChange.fireValueChangedEvent(ExpressionHelper.java:515)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(TextInputControl.java:991)
at javafx.scene.control.TextInputControl$TextProperty.markInvalid(TextInputControl.java:995)
at javafx.scene.control.TextInputControl$TextProperty.invalidate(TextInputControl.java:935)
at javafx.scene.control.TextInputControl$TextProperty.access$100(TextInputControl.java:907)
at javafx.scene.control.TextInputControl$1.invalidated(TextInputControl.java:109)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:140)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextField$TextFieldContent.delete(TextField.java:75)
at javafx.scene.control.TextInputControl$TextProperty.doSet(TextInputControl.java:1003)
at javafx.scene.control.TextInputControl$TextProperty.set(TextInputControl.java:930)
at javafx.scene.control.TextInputControl.setText(TextInputControl.java:162)
at lightplayground.view.obstaclepanel.control.ControlsFactory$4.changed(ControlsFactory.java:194)
at lightplayground.view.obstaclepanel.control.ControlsFactory$4.changed(ControlsFactory.java:182)
at com.sun.javafx.binding.ExpressionHelper$MultipleInvalidationMultipleChange.fireValueChangedEvent(ExpressionHelper.java:515)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(TextInputControl.java:991)
at javafx.scene.control.TextInputControl$TextProperty.markInvalid(TextInputControl.java:995)
at javafx.scene.control.TextInputControl$TextProperty.invalidate(TextInputControl.java:935)
at javafx.scene.control.TextInputControl$TextProperty.access$100(TextInputControl.java:907)
at javafx.scene.control.TextInputControl$1.invalidated(TextInputControl.java:109)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:140)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextField$TextFieldContent.delete(TextField.java:75)
at javafx.scene.control.TextInputControl$TextProperty.doSet(TextInputControl.java:1003)
at javafx.scene.control.TextInputControl$TextProperty.set(TextInputControl.java:930)
at javafx.scene.control.TextInputControl.setText(TextInputControl.java:162)
at lightplayground.view.obstaclepanel.control.ControlsFactory$4.changed(ControlsFactory.java:194)
at lightplayground.view.obstaclepanel.control.ControlsFactory$4.changed(ControlsFactory.java:182)
at com.sun.javafx.binding.ExpressionHelper$MultipleInvalidationMultipleChange.fireValueChangedEvent(ExpressionHelper.java:515)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(TextInputControl.java:991)
at javafx.scene.control.TextInputControl$TextProperty.markInvalid(TextInputControl.java:995)
at javafx.scene.control.TextInputControl$TextProperty.invalidate(TextInputControl.java:935)
at javafx.scene.control.TextInputControl$TextProperty.access$100(TextInputControl.java:907)
at javafx.scene.control.TextInputControl$1.invalidated(TextInputControl.java:109)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:140)
Glass detected outstanding Java exception at -[GlassViewDelegate sendJavaKeyEvent:isDown:]:/Users/dgrieve/repos/javafx/2.1/scrum/controls/jfx/glass/glass-mat-lib-macosx/src/com/sun/mat/ui/GlassViewDelegate.m:368
Exception in thread "JavaFX Application Thread" java.lang.IndexOutOfBoundsException
at javafx.scene.control.TextInputControl.replaceText(TextInputControl.java:333)
at com.sun.javafx.scene.control.skin.TextFieldSkin.replaceText(TextFieldSkin.java:407)
at com.sun.javafx.scene.control.behavior.TextFieldBehavior.replaceText(TextFieldBehavior.java:134)
at com.sun.javafx.scene.control.behavior.TextInputControlBehavior.defaultKeyTyped(TextInputControlBehavior.java:188)
at com.sun.javafx.scene.control.behavior.TextInputControlBehavior.callAction(TextInputControlBehavior.java:115)
at com.sun.javafx.scene.control.behavior.BehaviorBase.callActionForEvent(BehaviorBase.java:157)
at com.sun.javafx.scene.control.behavior.TextInputControlBehavior.callActionForEvent(TextInputControlBehavior.java:108)
at com.sun.javafx.scene.control.behavior.BehaviorBase$1.handle(BehaviorBase.java:121)
at com.sun.javafx.scene.control.behavior.BehaviorBase$1.handle(BehaviorBase.java:119)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:56)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:162)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:115)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:47)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:33)
at javafx.event.Event.fireEvent(Event.java:171)
at javafx.scene.Scene$KeyHandler.process(Scene.java:3135)
at javafx.scene.Scene$KeyHandler.access$1800(Scene.java:3065)
at javafx.scene.Scene.impl_processKeyEvent(Scene.java:1485)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.java:1916)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:108)
at com.sun.glass.ui.View.handleKeyEvent(View.java:282)
at com.sun.glass.ui.View.notifyKey(View.java:597)
Glass detected outstanding Java exception at -[GlassViewDelegate sendJavaKeyEvent:isDown:]:/Users/dgrieve/repos/javafx/2.1/scrum/controls/jfx/glass/glass-mat-lib-macosx/src/com/sun/mat/ui/GlassViewDelegate.m:368
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.StackOverflowError
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:125)
at com.sun.glass.ui.View.handleKeyEvent(View.java:282)
at com.sun.glass.ui.View.notifyKey(View.java:597)
Caused by: java.lang.StackOverflowError
at javafx.beans.binding.IntegerBinding.invalidate(IntegerBinding.java:148)
at com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:29)
at com.sun.javafx.binding.ExpressionHelper$MultipleInvalidationMultipleChange.fireValueChangedEvent(ExpressionHelper.java:512)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(TextInputControl.java:991)
at javafx.scene.control.TextInputControl$TextProperty.markInvalid(TextInputControl.java:995)
at javafx.scene.control.TextInputControl$TextProperty.invalidate(TextInputControl.java:935)
at javafx.scene.control.TextInputControl$TextProperty.access$100(TextInputControl.java:907)
at javafx.scene.control.TextInputControl$1.invalidated(TextInputControl.java:109)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:140)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextField$TextFieldContent.delete(TextField.java:75)
at javafx.scene.control.TextInputControl$TextProperty.doSet(TextInputControl.java:1003)
at javafx.scene.control.TextInputControl$TextProperty.set(TextInputControl.java:930)
at javafx.scene.control.TextInputControl.setText(TextInputControl.java:162)
at lightplayground.view.obstaclepanel.control.ControlsFactory$4.changed(ControlsFactory.java:194)
at lightplayground.view.obstaclepanel.control.ControlsFactory$4.changed(ControlsFactory.java:182)
at com.sun.javafx.binding.ExpressionHelper$MultipleInvalidationMultipleChange.fireValueChangedEvent(ExpressionHelper.java:515)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(TextInputControl.java:991)
at javafx.scene.control.TextInputControl$TextProperty.markInvalid(TextInputControl.java:995)
at javafx.scene.control.TextInputControl$TextProperty.invalidate(TextInputControl.java:935)
at javafx.scene.control.TextInputControl$TextProperty.access$100(TextInputControl.java:907)
at javafx.scene.control.TextInputControl$1.invalidated(TextInputControl.java:109)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:140)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextField$TextFieldContent.delete(TextField.java:75)
at javafx.scene.control.TextInputControl$TextProperty.doSet(TextInputControl.java:1003)
at javafx.scene.control.TextInputControl$TextProperty.set(TextInputControl.java:930)
at javafx.scene.control.TextInputControl.setText(TextInputControl.java:162)
at lightplayground.view.obstaclepanel.control.ControlsFactory$4.changed(ControlsFactory.java:194)
at lightplayground.view.obstaclepanel.control.ControlsFactory$4.changed(ControlsFactory.java:182)
at com.sun.javafx.binding.ExpressionHelper$MultipleInvalidationMultipleChange.fireValueChangedEvent(ExpressionHelper.java:515)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(TextInputControl.java:991)
at javafx.scene.control.TextInputControl$TextProperty.markInvalid(TextInputControl.java:995)
at javafx.scene.control.TextInputControl$TextProperty.invalidate(TextInputControl.java:935)
at javafx.scene.control.TextInputControl$TextProperty.access$100(TextInputControl.java:907)
at javafx.scene.control.TextInputControl$1.invalidated(TextInputControl.java:109)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:140)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextField$TextFieldContent.delete(TextField.java:75)
at javafx.scene.control.TextInputControl$TextProperty.doSet(TextInputControl.java:1003)
at javafx.scene.control.TextInputControl$TextProperty.set(TextInputControl.java:930)
at javafx.scene.control.TextInputControl.setText(TextInputControl.java:162)
at lightplayground.view.obstaclepanel.control.ControlsFactory$4.changed(ControlsFactory.java:194)
at lightplayground.view.obstaclepanel.control.ControlsFactory$4.changed(ControlsFactory.java:182)
at com.sun.javafx.binding.ExpressionHelper$MultipleInvalidationMultipleChange.fireValueChangedEvent(ExpressionHelper.java:515)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:64)
at javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(TextInputControl.java:991)
at javafx.scene.control.TextInputControl$TextProperty.markInvalid(TextInputControl.java:995)
at javafx.scene.control.TextInputControl$TextProperty.invalidate(TextInputControl.java:935)
at javafx.scene.control.TextInputControl$TextProperty.access$100(TextInputControl.java:907)
at javafx.scene.control.TextInputControl$1.invalidated(TextInputControl.java:109)
at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:140)
Glass detected outstanding Java exception at -[GlassViewDelegate sendJavaKeyEvent:isDown:]:/Users/dgrieve/repos/javafx/2.1/scrum/controls/jfx/glass/glass-mat-lib-macosx/src/com/sun/mat/ui/GlassViewDelegate.m:368
Exception in thread "JavaFX Application Thread" java.lang.IndexOutOfBoundsException
at javafx.scene.control.TextInputControl.replaceText(TextInputControl.java:333)
at com.sun.javafx.scene.control.skin.TextFieldSkin.replaceText(TextFieldSkin.java:407)
at com.sun.javafx.scene.control.behavior.TextFieldBehavior.replaceText(TextFieldBehavior.java:134)
at com.sun.javafx.scene.control.behavior.TextInputControlBehavior.defaultKeyTyped(TextInputControlBehavior.java:188)
at com.sun.javafx.scene.control.behavior.TextInputControlBehavior.callAction(TextInputControlBehavior.java:115)
at com.sun.javafx.scene.control.behavior.BehaviorBase.callActionForEvent(BehaviorBase.java:157)
at com.sun.javafx.scene.control.behavior.TextInputControlBehavior.callActionForEvent(TextInputControlBehavior.java:108)
at com.sun.javafx.scene.control.behavior.BehaviorBase$1.handle(BehaviorBase.java:121)
at com.sun.javafx.scene.control.behavior.BehaviorBase$1.handle(BehaviorBase.java:119)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:56)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:162)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:115)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:47)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:33)
at javafx.event.Event.fireEvent(Event.java:171)
at javafx.scene.Scene$KeyHandler.process(Scene.java:3135)
at javafx.scene.Scene$KeyHandler.access$1800(Scene.java:3065)
at javafx.scene.Scene.impl_processKeyEvent(Scene.java:1485)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.java:1916)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:108)
at com.sun.glass.ui.View.handleKeyEvent(View.java:282)
at com.sun.glass.ui.View.notifyKey(View.java:597)
- is blocked by
-
JDK-8128349 TextInputControl should not notify content listeners on intermediate values when replacing text
- Closed
-
JDK-8128962 TextField with unexpected behavior in textProperty
- Closed