RFR: 8352110: [ASAN] heap-use-after-free of task->directive()->PrintCompilationOption [v2]

Tobias Hartmann thartmann at openjdk.org
Mon Mar 17 06:11:52 UTC 2025


On Sun, 16 Mar 2025 15:27:37 GMT, SendaoYan <syan at openjdk.org> wrote:

>> Hi all,
>> 
>> After [JDK-8351938](https://bugs.openjdk.org/browse/JDK-8351938) several tests intermittent fails, because JVM print additional message "COMPILE SKIPPED: concurrent class loading", and AddressSanitizer report 'heap-use-after-free' error.
>> 
>> I don't  know why `task->directive()->PrintCompilationOption`  set as `true` automatically. This PR remove `task->directive()->PrintCompilationOption` usage, and set PrintCompilation to true when receive CompileCommandEnum::PrintCompilation.
>
> SendaoYan has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Set PrintCompilation to true when receive CompileCommandEnum::PrintCompilation

Changes requested by thartmann (Reviewer).

src/hotspot/share/compiler/compilerOracle.cpp line 338:

> 336: 
> 337:   if (option == CompileCommandEnum::PrintCompilation) {
> 338:     PrintCompilation = true;

But this will set `PrintCompilation` to true globally, right? The directive should only apply to a specific method.

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

PR Review: https://git.openjdk.org/jdk/pull/24073#pullrequestreview-2689211832
PR Review Comment: https://git.openjdk.org/jdk/pull/24073#discussion_r1997995025


More information about the hotspot-compiler-dev mailing list