RFR: 6995195: Static initialization deadlock in sun.java2d.loops.Blit and GraphicsPrimitiveMgr [v4]

Dmitry Cherepanov dcherepanov at openjdk.org
Mon Apr 17 08:14:13 UTC 2023


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

  fixed long lines

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/13459/files
  - new: https://git.openjdk.org/jdk/pull/13459/files/e6754209..35d02bd4

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13459&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13459&range=02-03

  Stats: 10 lines in 1 file changed: 6 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/13459.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13459/head:pull/13459

PR: https://git.openjdk.org/jdk/pull/13459



More information about the client-libs-dev mailing list