I have identified a Swing related JVM crash on Linux which appears to be a regression in Java 8:
The program 'java' received an X Window System error.
This probably reflects a bug in the program.
The error was 'RenderBadPicture (invalid Picture parameter)'.
(Details: serial 251 error_code 143 request_code 139 minor_code 6)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
As a regression from an earlier major Java version, this is a Fairly Bad Thing for Java on the (Linux) desktop. It's possible to "work around" the problem (but most users will not, unless reading this...) using:
-Dswing.systemlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel or -Dswing.systemlaf=javax.swing.plaf.metal.MetalLookAndFeel
As it doesn't seem to be possible to easily get an account by one-click to file issues in the JIRA on https://bugs.openjdk.java.net (which makes OpenJDK an interesting kind of "open source" project IMHO...), I've just reported this on http://bugreport.java.com; re: "We are evaluating this report and have stored this with an Review ID: JI-9014491. In the event this report is determined as a defect or enhancement request, it will be referenced with a new Bug ID and will be listed on Bugs.java.com." - thank you very much...
PS: If I had the time, I'd love to dig more into this and maybe even help with contributing a patch to OpenJDK, but I'm afraid the effort required for getting to the bottom of this one may be beyond what I have bandwidth for... how do you even "run 'java' with the --sync command line option" for X11 debugging?? And even if you could, then what? It's been a VERY long time since I last used gdb - so.. this kind of thing: gdb java, break gdk_x_error, start -jar my.jar ?? Now what? How do you correlate the Java call stack with the JVM C bt from gdb to make any sense and pinpoint to something actionable? Help! ;-)
Launching my isolated standalone pseudo (non) "app" example https://github.com/vorburger/CrashTestDummy a few times using either OpenJDK or Oracle Java version 8 (but not on v7...), on two different independently installed Ubuntu 14.04 Linux of mine at least, where UIManager.getSystemLookAndFeelClassName() = com.sun.java.swing.plaf.gtk.GTKLookAndFeel causes:
The program 'java' received an X Window System error.
This probably reflects a bug in the program.
The error was 'RenderBadPicture (invalid Picture parameter)'.
(Details: serial 251 error_code 143 request_code 139 minor_code 6)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
As a regression from an earlier major Java version, this is a Fairly Bad Thing for Java on the (Linux) desktop. It's possible to "work around" the problem (but most users will not, unless reading this...) using:
-Dswing.systemlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel or -Dswing.systemlaf=javax.swing.plaf.metal.MetalLookAndFeel
As it doesn't seem to be possible to easily get an account by one-click to file issues in the JIRA on https://bugs.openjdk.java.net (which makes OpenJDK an interesting kind of "open source" project IMHO...), I've just reported this on http://bugreport.java.com; re: "We are evaluating this report and have stored this with an Review ID: JI-9014491. In the event this report is determined as a defect or enhancement request, it will be referenced with a new Bug ID and will be listed on Bugs.java.com." - thank you very much...
PS: If I had the time, I'd love to dig more into this and maybe even help with contributing a patch to OpenJDK, but I'm afraid the effort required for getting to the bottom of this one may be beyond what I have bandwidth for... how do you even "run 'java' with the --sync command line option" for X11 debugging?? And even if you could, then what? It's been a VERY long time since I last used gdb - so.. this kind of thing: gdb java, break gdk_x_error, start -jar my.jar ?? Now what? How do you correlate the Java call stack with the JVM C bt from gdb to make any sense and pinpoint to something actionable? Help! ;-)