RFR: 8377189: Intermittent failure in TooltipTest.testCssStylesheetChangeTooltip
Kevin Rushforth
kcr at openjdk.org
Fri Feb 6 13:52:46 UTC 2026
On Fri, 6 Feb 2026 02:33:02 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:
> `test.robot.javafx.scene.TooltipTest` modifies the scene graph on a test worker thread, which can corrupt the scene graph and leads to test failures such as:
>
>
> TooltipTest > testCssStylesheetChangeTooltip() FAILED
> java.lang.AssertionError
> at [javafx.graphics at 27-ea](mailto:javafx.graphics at 27-ea)/com.sun.javafx.css.StyleMap.getCascadingStyles(StyleMap.java:144)
> at [javafx.graphics at 27-ea](mailto:javafx.graphics at 27-ea)/javafx.scene.CssStyleHelper.resetToInitialValues(CssStyleHelper.java:490)
> at [javafx.graphics at 27-ea](mailto:javafx.graphics at 27-ea)/javafx.scene.CssStyleHelper.createStyleHelper(CssStyleHelper.java:193)
> at [javafx.graphics at 27-ea](mailto:javafx.graphics at 27-ea)/javafx.scene.Node.reapplyCss(Node.java:9996)
> at [javafx.graphics at 27-ea](mailto:javafx.graphics at 27-ea)/javafx.scene.Node.reapplyCSS(Node.java:9959)
> at [javafx.graphics at 27-ea](mailto:javafx.graphics at 27-ea)/javafx.scene.Scene$10.onChanged(Scene.java:1682)
> at [javafx.base at 27-ea](mailto:javafx.base at 27-ea)/com.sun.javafx.collections.TrackableObservableList.lambda$new$0(TrackableObservableList.java:44)
> at [javafx.base at 27-ea](mailto:javafx.base at 27-ea)/com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:162)
> at [javafx.base at 27-ea](mailto:javafx.base at 27-ea)/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:71)
> at [javafx.base at 27-ea](mailto:javafx.base at 27-ea)/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:246)
> at [javafx.base at 27-ea](mailto:javafx.base at 27-ea)/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
> at [javafx.base at 27-ea](mailto:javafx.base at 27-ea)/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
>
>
> or
>
>
> TooltipTest > testCssStylesheetChangeTooltip() STANDARD_ERROR
> Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: Cannot invoke "java.util.List.clear()" because "this.selectors" is null
> at [javafx.graphics at 27-internal](mailto:javafx.graphics at 27-internal)/com.sun.javafx.css.StyleMap.getCascadingStyles(StyleMap.java:148)
> at [javafx.graphics at 27-internal](mailto:javafx.graphics at 27-internal)/javafx.scene.CssStyleHelper.resetToInitialValues(CssStyleHelper.java:490)
> at [javafx.graphics at 27-internal](mailto:javafx.graphics at 27-internal)/javafx.scene.CssStyleHelper.createStyleHelper(CssSt...
LGTM. I ran the test 100 times in a loop without your fix on my Mac M1 system and it failed after 14 iterations. With the fix it passed all 100 times.
> `test.robot.javafx.scene.TooltipTest` modifies the scene graph on a test worker thread, which can corrupt the scene graph ...
Ah, good. So it was a test bug, likely exposed by [JDK-8375363](https://bugs.openjdk.org/browse/JDK-8375363), as you suggested in the bug report.
Thanks for fixing this!
@andy-goryachev-oracle or @lukostyra Can one of you be the second reviewer?
-------------
Marked as reviewed by kcr (Lead).
PR Review: https://git.openjdk.org/jfx/pull/2066#pullrequestreview-3763230330
More information about the openjfx-dev
mailing list