[OpenJDK 2D-Dev] RFR [JDK15] : 8244818 : Java2D Queue Flusher crash while moving application window to external monitor
Philip Race
philip.race at oracle.com
Fri Jun 19 22:23:26 UTC 2020
Bug : https://bugs.openjdk.java.net/browse/JDK-8244818
Webrev : http://cr.openjdk.java.net/~prr/8244818/
Please review this fix for JDK 15 :
This crash was reported recently but we'd not been able to reproduce it
until we used Xcode 11.3 to build,
in which case it became 100% reproducible.
The call that causes the crash, setting a scratch surface as NSView on
the new current context,
is believed to be violating threading rules as it is not being done on
the Appkit thread, hence the crash
however it also appears to be completely unnecessary.
Removing causes no problems that we can find. J2Demo, SwingSet,
multimon, all headful automated
regression and JCK tests pass. So the fix is just to remove the call.
There's no regression test since you need a multi-mon setup to see the
crash and we've not seen
any other scenario causing a crash - dragging between monitors is the
main reason this code gets entered.
I've seen it called when a new window or dialog is displayed but that
doesn't cause a crash and
we have plenty of tests that open windows anyway :-)
-phil.
More information about the 2d-dev
mailing list