[jdk17u-dev] RFR: 8277444: Data race between JvmtiClassFileReconstituter::copy_bytecodes and class linking

Chad Rakoczy duke at openjdk.org
Thu Sep 18 21:41:14 UTC 2025


Backport of https://bugs.openjdk.org/browse/JDK-8277444. Trivial conflict (`NULL` vs `nullptr`)

This fixes a race condition that occurs when a class is simultaneously retransformed via the Instrumentation API and linked. This can lead to invalid bytecode which will cause a VerifyError. Even worse, if class verifying is turned off, which it is by default for java.* classes, this will cause the JVM to crash/segfault.

The included test test/jdk/java/lang/instrument/RetransformBigClassTest.java fails before the patch and passes after

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

Commit messages:
 - Backport 46ae1ee87152742082e6047d0556944d7ae4567d

Changes: https://git.openjdk.org/jdk17u-dev/pull/3955/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=3955&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8277444
  Stats: 187 lines in 3 files changed: 186 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk17u-dev/pull/3955.diff
  Fetch: git fetch https://git.openjdk.org/jdk17u-dev.git pull/3955/head:pull/3955

PR: https://git.openjdk.org/jdk17u-dev/pull/3955


More information about the jdk-updates-dev mailing list