-
Bug
-
Resolution: Fixed
-
P3
-
8
Controls.TableView-Sort performance benchmark fails with ClassCastException starting at least from build
8.0-controls-scrum-702. Here is the stack trace:
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.Comparable
at com.sun.javafx.collections.SortHelper.mergeSort(SortHelper.java:213)
at com.sun.javafx.collections.SortHelper.mergeSort(SortHelper.java:225)
at com.sun.javafx.collections.SortHelper.mergeSort(SortHelper.java:225)
at com.sun.javafx.collections.SortHelper.mergeSort(SortHelper.java:225)
at com.sun.javafx.collections.SortHelper.mergeSort(SortHelper.java:225)
at com.sun.javafx.collections.SortHelper.mergeSort(SortHelper.java:225)
at com.sun.javafx.collections.SortHelper.sort(SortHelper.java:80)
at com.sun.javafx.collections.SortHelper.sort(SortHelper.java:63)
at com.sun.javafx.collections.ObservableListWrapper.sort(ObservableListWrapper.java:215)
at javafx.collections.FXCollections.sort(FXCollections.java:670)
at javafx.scene.control.TableView$3.call(TableView.java:367)
at javafx.scene.control.TableView$3.call(TableView.java:336)
at javafx.scene.control.TableView.sort(TableView.java:1330)
at javafx.scene.control.TableView.doSort(TableView.java:1360)
at javafx.scene.control.TableView.access$100(TableView.java:259)
at javafx.scene.control.TableView$4.onChanged(TableView.java:432)
at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:315)
at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:72)
at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233)
at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205)
at com.sun.javafx.collections.ObservableListWrapper.clear(ObservableListWrapper.java:155)
at controls.TableViewTest.run(TableViewTest.java:406)
at controls.TableViewTest$1.handle(TableViewTest.java:130)
at com.sun.scenario.animation.AbstractMasterTimer.timePulseImpl(AbstractMasterTimer.java:357)
at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.run(AbstractMasterTimer.java:267)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:529)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:513)
at com.sun.javafx.tk.quantum.QuantumToolkit$16.run(QuantumToolkit.java:380)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$300(WinApplication.java:39)
at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:101)
at java.lang.Thread.run(Thread.java:724)
Steps to run the benchmark:
> > cd JFX_WS/tests/performance/Controls
> ant
> java -Djavafx.animation.fullspeed=true
-cp "JFX_HOME/rt/lib/ext/jfxrt.jar:./dist/Controls.jar:../FXBenchmark/dist/FXBenchmark.jar:../../../import/benchmarks-2.1.1/benchmarks-2.1.1.jar"
jrockit.bm.Main controls.bm.TableViewBenchmark -i 3 -wt 5 -tr 15 -mode sort -usePulse true -cells 150 30
The issue is seen at least on Windows7.
8.0-controls-scrum-702. Here is the stack trace:
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.Comparable
at com.sun.javafx.collections.SortHelper.mergeSort(SortHelper.java:213)
at com.sun.javafx.collections.SortHelper.mergeSort(SortHelper.java:225)
at com.sun.javafx.collections.SortHelper.mergeSort(SortHelper.java:225)
at com.sun.javafx.collections.SortHelper.mergeSort(SortHelper.java:225)
at com.sun.javafx.collections.SortHelper.mergeSort(SortHelper.java:225)
at com.sun.javafx.collections.SortHelper.mergeSort(SortHelper.java:225)
at com.sun.javafx.collections.SortHelper.sort(SortHelper.java:80)
at com.sun.javafx.collections.SortHelper.sort(SortHelper.java:63)
at com.sun.javafx.collections.ObservableListWrapper.sort(ObservableListWrapper.java:215)
at javafx.collections.FXCollections.sort(FXCollections.java:670)
at javafx.scene.control.TableView$3.call(TableView.java:367)
at javafx.scene.control.TableView$3.call(TableView.java:336)
at javafx.scene.control.TableView.sort(TableView.java:1330)
at javafx.scene.control.TableView.doSort(TableView.java:1360)
at javafx.scene.control.TableView.access$100(TableView.java:259)
at javafx.scene.control.TableView$4.onChanged(TableView.java:432)
at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:315)
at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:72)
at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233)
at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205)
at com.sun.javafx.collections.ObservableListWrapper.clear(ObservableListWrapper.java:155)
at controls.TableViewTest.run(TableViewTest.java:406)
at controls.TableViewTest$1.handle(TableViewTest.java:130)
at com.sun.scenario.animation.AbstractMasterTimer.timePulseImpl(AbstractMasterTimer.java:357)
at com.sun.scenario.animation.AbstractMasterTimer$MainLoop.run(AbstractMasterTimer.java:267)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:529)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:513)
at com.sun.javafx.tk.quantum.QuantumToolkit$16.run(QuantumToolkit.java:380)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$300(WinApplication.java:39)
at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:101)
at java.lang.Thread.run(Thread.java:724)
Steps to run the benchmark:
> > cd JFX_WS/tests/performance/Controls
> ant
> java -Djavafx.animation.fullspeed=true
-cp "JFX_HOME/rt/lib/ext/jfxrt.jar:./dist/Controls.jar:../FXBenchmark/dist/FXBenchmark.jar:../../../import/benchmarks-2.1.1/benchmarks-2.1.1.jar"
jrockit.bm.Main controls.bm.TableViewBenchmark -i 3 -wt 5 -tr 15 -mode sort -usePulse true -cells 150 30
The issue is seen at least on Windows7.