JDK-8019935 : [macosx] failure of javax/swing/JSplitPane/4885629/bug4885629.java on retina display
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 7u40,8
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: os_x
  • Submitted: 2013-07-04
  • Updated: 2024-03-18
  • Resolved: 2024-03-18
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdResolved
Related Reports
Duplicate :  
Description
javax/swing/JSplitPane/4885629/bug4885629.java
fails on retina display (QuartzDebug emulator).
Difference is in the last pixel. The test looks exactly for this last pixel but in this case perhaps a wrong color is a result of scaling. We should not, I think, treat it as a regression against JDK-4885629 but I don't know if to ignore it as a non-issue or mark it as a duplicate of some geometry bug.

OS X 10.8.4 macmini4,1
retina emulator QuartzDebug (960x540)
Comments
OK after lots of work, it is fixed in JDK 9 b161 The only fix that seems likely is https://bugs.openjdk.org/browse/JDK-8162959 [HiDPI] screenshot artifacts using AWT Robot so closing as a dup. of that.
18-03-2024

I can reproduce this on a retina display using 8u291 but not using 11.0.9 So somewhere between those releases it was fixed at least for retina. In both cases I am using the test from JDK 23 (mainline) so it isn't a test fix, it was a product fix. And I don't see anything in the test history so it will be some work to track it down.
18-03-2024

Not a regression from jdk6
04-07-2013

I added some printout to the test: rect.width, current coordinates, picked color: STDOUT: rect.width is 18; 91, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 92, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 93, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 94, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 95, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 96, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 97, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 98, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 99, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 100, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 101, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 102, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 103, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 104, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 105, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 106, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 107, 66 color:java.awt.Color[r=0,g=0,b=255] rect.width is 18; 108, 66 color:java.awt.Color[r=128,g=43,b=145] STDERR: java.lang.reflect.InvocationTargetException at java.awt.EventQueue.invokeAndWait(EventQueue.java:1272) at java.awt.EventQueue.invokeAndWait(EventQueue.java:1247) at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1349) at bug4885629.main(bug4885629.java:99) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.sun.javatest.regtest.MainWrapper$MainThread.run(MainWrapper.java:94) at java.lang.Thread.run(Thread.java:724) Caused by: java.lang.Error: The divider's area has incorrect color. at bug4885629$3.run(bug4885629.java:113) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:703) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
04-07-2013