ADDITIONAL SYSTEM INFORMATION :
Occurs with ZGC activated under Windows 10 Enterprise version 1909 with Java 14 release candidate Build 36 (2020/2/6) when running the J text editor v 0.23.0 - see http://armedbear-j.sourceforge.net/ - (also happens with v 0.21.0)
A DESCRIPTION OF THE PROBLEM :
I tried the Java 14 release candidate with ZGC enabled. One text editor showed serious repaint problems: only the line in the text window with the cursor position is repainted, the remainder and other parts (filelist, navigation bar) remain invisible. Repaint of a line is triggered only by placing the cursor on the line.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Download the binary archive version 0.23.0 from https://sourceforge.net/projects/armedbear-j/files/j/0.23.0/ and unpack it and launch the main class of j.jar something like so (note: the manifest classpath of j.jar refers to the lib folder, so don't remove that one)
start <path-to-JDK14>\bin\javaw.exe -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -jar j.jar
Only the title bar and the text line with the cursor gets visible. Without ZGC it works fine (tried Java14 RC with G1 and Java13 with Shenandoah). J is the only program where I found this to happen (but I did not try many, so there could be more). With J, it is always reproducible. So, if there is something hiding in ZGC, this would be a starting point for a search.
Note: J is old and not actively developed. But it is open source, so I was able to change the main method to run the entire initialization on the EDT (since, NOT doing so, MIGHT have caused threading troubles). Result: the same behavior as the original version, so "EDT or not EDT" was not the question. And other than that, I could not think of any bug or inconsistency in J that would make J responsible for its strange interaction with ZGC.
EXPECTED VERSUS ACTUAL BEHAVIOR :
Normal display of the entire editor window as can be seen when running with a different garbage collector.
Only the title bar and the text line with the cursor gets visible. Moving the cursor to another line repaints that line. Switching between files always updates just the line that contains the cursor.
---------- BEGIN SOURCE ----------
The J editor as described under "Steps to reproduce" (the source is downloadable from the same website as the binary: https://sourceforge.net/projects/armedbear-j/files/j/0.23.0/)
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
No workaround known as of current.
FREQUENCY : always