[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 :-)


More information about the 2d-dev mailing list