[jdk17u-dev] RFR: 8331735: UpcallLinker::on_exit races with GC when copying frame anchor

Andrew John Hughes andrew at openjdk.org
Thu Apr 3 22:26:24 UTC 2025


Partial backport of a fix for a race condition in code adapted from JavaCallWrapper for the FFM API. This is more visible in 22 and later, where FFM is fully supported and the [OpenType implementation using HarfBuzz](https://bugs.openjdk.org/browse/JDK-8318364) has been ported to use it.

However, the copy in the native state seems to have been introduced as far back as [JDK-8269240](https://bugs.openjdk.org/browse/JDK-8269240) in 17 when the JavaCallWrapper code was ported to what was then universalUpcallHandler.cpp. That fix to `::on_exit` is included here.

The other hunk in the 24 and 21u versions is omitted as the `::on_entry` method has not been modified by [JDK-8272526](https://bugs.openjdk.org/browse/JDK-8272526) which is what moved the thread exception handling to native code.

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

Commit messages:
 - Backport 91457e694353386737e325e6fa0253bcefb8d579

Changes: https://git.openjdk.org/jdk17u-dev/pull/3434/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=3434&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8331735
  Stats: 8 lines in 1 file changed: 2 ins; 6 del; 0 mod
  Patch: https://git.openjdk.org/jdk17u-dev/pull/3434.diff
  Fetch: git fetch https://git.openjdk.org/jdk17u-dev.git pull/3434/head:pull/3434

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


More information about the jdk-updates-dev mailing list