[jdk11u-dev] RFR: 8214972: Uses of klass_holder() except GC need to apply GC barriers
Francesco Andreuzzi
duke at openjdk.org
Wed Jul 9 19:30:46 UTC 2025
On Wed, 9 Jul 2025 18:09:29 GMT, Paul Hohensee <phh at openjdk.org> wrote:
>> I've been working on a backport to fix [JDK-8339725](https://bugs.openjdk.org/browse/JDK-8339725). The fix attached to the ticket is not enough to fix the problem on jdk11.
>>
>> The missing backport is JDK-8214972, which I apply in this PR. JDK-8210321 is also needed to provide `ClassLoaderData::holder_no_keepalive`.
>>
>> Tier1 tests completed successfully.
>
> This looks ok, but why is it needed as a prereq for [JDK-8339725](https://bugs.openjdk.org/browse/JDK-8339725)?
>
> Given that 11u is old, why do you want to backport it? Do you have production use issues? I recommend running both tier1 and tier2, with both fastdebug and release JDKs.
@phohensee
> This looks ok, but why is it needed as a prereq for [JDK-8339725](https://bugs.openjdk.org/browse/JDK-8339725)?
It's difficult to pinpoint the specific issue as the problem manifests as a segfault in an unrelated location. I determined JDK-8214972 is needed by bisecting the history and backporting JDK-8339725 to each commit. The commit related to JDK-8214972 is the first where the reproducer attached to JDK-8339725 runs successfully. Applying both of them to jdk11 solves the problem indeed.
> Given that 11u is old, why do you want to backport it? Do you have production use issues?
We had an occurrence of this issue in async-profiler/async-profiler#974. As reported by the user, the problem affects jdk11 too.
> I recommend running both tier1 and tier2, with both fastdebug and release JDKs.
I ran tier1 with release already, I'll start a tier2 run with fastdebug.
-------------
PR Comment: https://git.openjdk.org/jdk11u-dev/pull/3059#issuecomment-3053762178
More information about the jdk-updates-dev
mailing list