RFR: 6995195: Static initialization deadlock in sun.java2d.loops.Blit and GraphicsPrimitiveMgr [v3]
Sergey Bylokhov
serb at openjdk.org
Fri Apr 14 20:11:35 UTC 2023
On Fri, 14 Apr 2023 15:58:26 GMT, Dmitry Cherepanov <dcherepanov at openjdk.org> wrote:
>> This PR suggests to move generalPrimitives array to a new static nested GeneralPrimitives class to eliminate the possible deadlock. The Blit class (and other classes that register as general primitives) calls to GeneralPrimitives.register from the static initializer block without acquiring lock on the GraphicsPrimitiveMgr class.
>>
>> This PR also includes a jtreg regression test which reproduces this issue without the patch and passes with the patch. Running tests from test/jdk/sun/java2d didn't reveal any issues with this patch.
>
> Dmitry Cherepanov has updated the pull request incrementally with one additional commit since the last revision:
>
> remove commented line
test/jdk/sun/java2d/loops/GraphicsPrimitiveMgrTest.java line 38:
> 36: private static volatile CountDownLatch latch;
> 37:
> 38: public static void main(final String[] args) throws ClassNotFoundException, InterruptedException {
please split the long lines to 80 chars per line
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13459#discussion_r1167237602
More information about the client-libs-dev
mailing list