JDK-6986565 : sun/java2d/SunGraphics2D/PolyVertTest.java failed on Windows and Solaris
Type:Bug
Component:client-libs
Sub-Component:2d
Affected Version:7,8,9,10,11
Priority:P3
Status:Open
Resolution:Unresolved
OS:solaris,windows_xp
CPU:generic
Submitted:2010-09-22
Updated:2023-10-09
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.
Still fails on JDk10+11, Windows 7, D3D:
java.lang.RuntimeException: Error at 0, 0 while testing: Screen
at PolyVertTest.verify(PolyVertTest.java:470)
at PolyVertTest.testScreen(PolyVertTest.java:562)
at PolyVertTest.main(PolyVertTest.java:305)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:115)
at java.base/java.lang.Thread.run(Thread.java:844)
JavaTest Message: Test threw exception: java.lang.RuntimeException: Error at 0, 0 while testing: Screen
JavaTest Message: shutting down test
25-01-2018
The test case in https://bugs.openjdk.java.net/browse/JDK-8055745 demonstrates another example of this bug
and the fix should be tested against that case too.
21-08-2014
The issue is reproduced in Solaris 11 x86 whilte testign JDK 7u60 b18.
Exception :
java.lang.RuntimeException: Error at 10, 30 while testing: Screen
at PolyVertTest.verify(PolyVertTest.java:469)
at PolyVertTest.testScreen(PolyVertTest.java:561)
at PolyVertTest.main(PolyVertTest.java:304)
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:745)
JavaTest Message: Test threw exception: java.lang.RuntimeException: Error at 10, 30 while testing: Screen
JavaTest Message: shutting down test
STATUS:Failed.`main' threw exception: java.lang.RuntimeException: Error at 10, 30 while testing: Screen
05-05-2014
The issue is being reproduced on Linux as well.
28-10-2013
Release team: Approved for deferral to 9.
18-10-2013
jdk8: SQE OK to defer
15-10-2013
is it reproducible on WinXP only? In such case it should be P4
28-08-2013
EVALUATION
Prior to forwardporting of fix for 6635462 (D3D: REGRESSION: XOR rendering is extremely slow)accelerated pipelines fell back to general renderer
if XOR mode is requested. General rendered decomposes a polyline to a set of lines and draws them separately. In this case, end points of each line
is drawn twice (as a end point of one line, and as a start point of another one). In case of XOR, this double drawing eliminates end points of
the lines, that causes a failure of this test.
Similar problem appears in case of drawing to a buffered image of custom format.
To resolve this problem, general renderer routines have to be able to draw a line without it's end point, as corresponding routines from software loops do.
With the fix for 6635462 (i.e. starting b126) situation is changed:
- OGL pipeline works fine with polylines in XOR mode.
- D3D pipeline produces white screen without any lines, that looks as a regression.
However, in a log produced by sun.java2d.trace option, I can see that D3D pipeline
still uses the general renderer:
Direct3D pipeline enabled on screen 0
Direct3D pipeline enabled on screen 1
D3DFillRect
=============== Do rendering test ===============
D3DFillRect
sun.java2d.loops.XorDrawPolygonsANY::DrawPolygons(AnyColor, Xor, Any)
=============== Rendering test is done ==========
This fact may indicate that fix for 6635462 does not work in case of D3D pipeline, and it need to be investigated.