Hi Frank, > Recently our team discovered defect 7032904(XRender: Java2Demo : Infinite > loop in Java_sun_java2d_loops_MaskBlit_MaskBlit on OEL 5.6 x64) still exists > in latest JDK (7u21) on SLES10SP4. It can be easily reproduced by running > SwingSet2 with Nimbus LAF. The issue is also seen in Java 8. Can anybody > look into it?
Thanks for reporting the issue, I'll have a look at it. Most likely the code which is detecting the libXrender package-info version doesn't find the package-info files at the expected place and conservatively keeps the xrender pipeline enabled. The root problem still remains, we can not reliably detect the version of libXrender library used without targeting and testing every possibly affected distribution separately. As the versions of kernel and libXrender usually stay quite coherent for problematic distributions (old kernel == affected libXrender) and it is very easy to query the version of the linux-kernel currently running, I would propose to further restrict use of the xrender pipeline to systems running >= Linux-2.6.32, which is currently the oldest LTS kernel still supported. 2.6.32 was released in Dec. 2009. Hopefully this will not only avoid running into the libXrender-bug, but also avoid many driver-bugs caused by old and outdated drivers for the local use-case. In case of false positives it reverts back to the X11 backend instead, which in my opinion is the right thing to do in the event of uncertainty. Regards, Clemens PS: RHEL 5.5/5.6 runs linux-2.6.18 SLES-10 runs linux-2.6.16. Ubuntu 10.04 LTS (and higher) and Debian squeeze (6.0) both use Linux-2.6.32 and therefore would be supported.