JDK-8124564 : All the applications stop working with JavaFX 8 with JDK8-b84 due to NullPointerException
  • Type: Bug
  • Component: javafx
  • Sub-Component: samples
  • Affected Version: 8
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2013-04-19
  • Updated: 2015-06-17
  • Resolved: 2013-04-26
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
8Fixed
Related Reports
Blocks :  
Description
Below is the list of issues that SQE found when testing JavaFX 8 building with JDK 8-b84.

Hudson job that used for this testing is http://jfx.us.oracle.com/hudson/view/FX-JDK8/job/8.0-gfx-8/
which is pulling from the latest graphics scrum and building with JDK 8-b84.

=====================

Subject:
Re: HELP: Test JavaFX 8 build with JDK8 - Fwd: Re: PLEASE READ: Proposed timeline for upgrading to JDK8 for building FX
From:
Mikhail Kondratyev <mikhail.kondratyev@oracle.com>
Date:
Fri, 19 Apr 2013 18:18:22 +0400
To:
Mong Hang Vo <hang.vo@oracle.com>
CC:
Sandeep Konchady <sandeep.konchady@Oracle.COM>, Kevin Rushforth <Kevin.Rushforth@oracle.COM>, Sergey Grinev <sergey.grinev@oracle.com>

Hi Mong, Team,

We did some testing and looks like ensemble is broken there. Here is the result from Dmitry Ginzburg, SQE engineer in my team:

Hi, Misha

I've investigated FX build you sent to me and found some bugs in this build.

When I'm trying to start some test in Ensemble utility including charts tests (not all, but Candle Stick Chard, Pie Chart, Bubble Chart) I'm getting this error output:

17:14:41 dginzburg@workplace:~/work/sanity/javafx-samples-8.0.0-ea $ java -cp ~/work/sanity/sdk/rt/lib/ext/jfxrt.jar:Ensemble8.jar ensemble.EnsembleApp
IS_IPHONE = false
IS_MAC = false
IS_IOS = false
IS_BEAGLE = false
IS_DESKTOP = true
������ 19, 2013 5:15:42 PM com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged
INFO: Loaded @font-face font [Bree Serif]
������ 19, 2013 5:18:17 PM javafx.scene.CssStyleHelper calculateValue
WARNING: Could not resolve 'a lookup value' while resolving lookups for '-fx-font' from rule '*.tree-table-view *.column-header' in stylesheet jar:file:/local/work/sanity/sdk/rt/lib/ext/jfxrt.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss
java.lang.NullPointerException
at java.lang.Enum.compareTo(Enum.java:178)
at javafx.scene.CssStyleHelper.lookupFont(CssStyleHelper.java:1972)
at javafx.scene.CssStyleHelper.lookup(CssStyleHelper.java:886)
at javafx.scene.CssStyleHelper.transitionToState(CssStyleHelper.java:682)
at javafx.scene.Node.impl_processCSS(Node.java:8519)
at javafx.scene.Parent.impl_processCSS(Parent.java:1179)
at javafx.scene.control.Control.impl_processCSS(Control.java:861)
at javafx.scene.Parent.impl_processCSS(Parent.java:1191)
at javafx.scene.Node.impl_reapplyCSS(Node.java:8397)
at javafx.scene.Node.invalidatedScenes(Node.java:791)
at javafx.scene.Node.setScenes(Node.java:823)
at javafx.scene.Parent$1.onChanged(Parent.java:279)
at com.sun.javafx.collections.TrackableObservableList$1.onChanged(TrackableObservableList.java:48)
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 javafx.collections.ModifiableObservableListBase.setAll(ModifiableObservableListBase.java:90)
at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:116)
at com.sun.javafx.scene.control.skin.NestedTableColumnHeader.updateContent(NestedTableColumnHeader.java:246)
at com.sun.javafx.scene.control.skin.NestedTableColumnHeader.updateTableColumnHeaders(NestedTableColumnHeader.java:191)
at com.sun.javafx.scene.control.skin.NestedTableColumnHeader.layoutChildren(NestedTableColumnHeader.java:416)
at javafx.scene.Parent.layout(Parent.java:1020)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Scene.layoutDirtyRoots(Scene.java:582)
at javafx.scene.Scene.doLayoutPass(Scene.java:553)
at javafx.scene.Scene.access$3700(Scene.java:187)
at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2293)
at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:359)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:560)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:540)
at com.sun.javafx.tk.quantum.QuantumToolkit$15.run(QuantumToolkit.java:425)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:94)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.access$200(GtkApplication.java:47)
at com.sun.glass.ui.gtk.GtkApplication$5$1.run(GtkApplication.java:137)
at java.lang.Thread.run(Thread.java:722)


All the application stops working after that and when I'm switching this window to the other and back I'm getting blank white screen.
The same exception is thrown in Audio Area Chart, Stack Area Chart, Curve-Fitted Chart, Area Chart, Line Chart and almost all the Charts.
Also, there were some other errors, but not so big, and I don't think they're bound with JDK8.

-- 
Dmitry Ginzburg, FXSQE team member


thanks, Mikhail
Comments
SQE has also tested this issue with JDK 7 and got the same issue. This is not a JDK8 issue. See details below. On 4/22/2013 4:44 AM, Dmitry Ginzburg wrote: > Hi Kevin, > > I've tested this issue with JDK7 build (8.0-graphics-scrum) and got the same result. So, this is not JDK8 issue. > > 20.04.2013 03:51, Kevin Rushforth ����������: >> Hi Dmitry, >> >> Yes, Monday would be fine. >> >> Production build (using JDK 7) : >> http://jfx.us.oracle.com/hudson/job/8.0-graphics-scrum/ >> >> Test build (using JDK 8) : >> http://jfx.us.oracle.com/hudson/job/8.0-gfx-8/ >> >> Thanks. >> >> -- Kevin Dmitry Ginzburg wrote: > Hi Kevin > > Now I'm not at work (it's 3:30am at Saint Petersburg), but I can test it Monday. Is it ok for you? If so, please, just give me a link tothis JDK7 JavaFX build. > > Thanks, Dmitry. > > 20.04.2013 03:25, Kevin Rushforth ����������: >> I see. >> >> I don't have a Linux system at the moment I can test it on, but in any case, the most important thing is to separate bugs in FX (we have plenty of those at this stage of the release) from regressions caused by building on JDK 8. Can you take a build of the 8.0-graphics-scrum from the same time frame and try that. If it works, then we can be fairly sure that building with JDK 8 is causing a problem. If it fails in the same way, then we have a bug in the product, but not one that is relevant for the purpose of deciding whether we are ready to switch our production builds to JDK 8. >> >> Thanks. >> >> -- Kevin >> >> >> Dmitry Ginzburg wrote: >>> Hi Mong. >>> >>> When I was starting this command I've already removed jfxrt.jar from this jdk build. >>> >>> After reading the issue's text I reruned this on Ubuntu (previous was on Oracle Linux 6) and got the same result. >>> I think this issue is OS-specific, because in exception stacktrace I can see some linux-specific messages about errors with Gtk, so you should run it on Linux to check whether this bug is present. >>> >>> Thanks, Dmitry >>> >>> 20.04.2013 02:46, Mong Hang Vo ����������: >>>> Thanks Kevin for looking into the issue and updating the JIRA. >>>> >>>> Dmitry, >>>> >>>> Kevin said that the command line you used may not work as expected if you are running with Java 8, unless you remove jfxrt.jar from your JDK8/jre/lib/ext directory. >>>> >>>> Could you follow Kevin's suggestion in RT-29884 and let us know how it goes? >>>> >>>> We really appreciate your help on this. >>>> >>>> -Mong
26-04-2013

I tried the artifacts from Hudson for windows-i586 with the same result: Ensemble8 runs for me with no errors.
19-04-2013

I am unable to reproduce this using my local build. I will download the artifacts from Hudson and try those shortly. Note that the command line you used may not work as expected if you are running with Java 8, unless you remove jfxrt.jar from your JDK8/jre/lib/ext directory. java -cp ~/work/sanity/sdk/rt/lib/ext/jfxrt.jar:Ensemble8.jar ensemble.EnsembleApp Java 8 will use the jfxrt.jar in lib/ext in preference to the one on the classpath. Can you try the following? java -Djava.ext.dir="" -cp ~/work/sanity/sdk/rt/lib/ext/jfxrt.jar:Ensemble8.jar ensemble.EnsembleApp and see if that makes a difference? In the mean time I will test Hudson and report the results.
19-04-2013