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/
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