[OpenJDK 2D-Dev] RFR [11] JDK-8202580: Dashed BasicStroke randomly painted incorrectly, may freeze application

Philip Race philip.race at oracle.com
Sat May 5 23:11:05 UTC 2018


Looks fine to me. Did you run the rendering related regression tests ?

I am not sure if a backport to 10 will be approved under the new 
guidelines :
http://mail.openjdk.java.net/pipermail/jdk-updates-dev/2018-April/000102.html

-phil.

On 5/4/18, 5:30 AM, Laurent Bourgès wrote:
> Sergey,
>
> Please review this simple fix to the Dasher problem:
> JBS: https://bugs.openjdk.java.net/browse/JDK-8202580
> webrev: http://cr.openjdk.java.net/~lbourges/marlin/marlin-8202580.0/ 
> <http://cr.openjdk.java.net/%7Elbourges/marlin/marlin-8202580.0/>
>
> Changes:
> - (D)Dasher.init: the given dash array is dirty as 
> MarlinRenderingEngine got it from XxxArrayCache 
> (Unsafe.allocateUninitializedArray) when calling copyDashArray(). The 
> fix consists in using the correct part [0; dashLen[ as it was the case 
> in jdk9
> - added test that detects wrong dashed rectangle: jtreg fails on 
> jdk10/11 without patch
>
> Notes:
> - the thread may hang in init() if the dirty part contains negative 
> values (normalization loop never exits), but it is very difficult to 
> reproduce and test.
> - My Apologies: I introduced the bug in dec 2016 when I merged 
> MarlinFX / Marlin2D.
>
>
> Finally, the proposed fix should be backported to JDK10 and also to 
> OpenJFX 10/11. I can propose a patch to OpenJFX11 soon.
>
> Could somebody else manage the backport process (JDK-update 10, 
> OpenJFX10) ?
>
> Regards,
> Laurent


More information about the 2d-dev mailing list