Integrated: 8342295: compiler/jvmci/TestJVMCISavedProperties.java fails due to garbage in output

Tomáš Zezula duke at openjdk.org
Mon Oct 21 13:53:26 UTC 2024


On Fri, 18 Oct 2024 13:54:14 GMT, Tomáš Zezula <duke at openjdk.org> wrote:

> The `compiler/jvmci/TestJVMCISavedProperties` test fails due to overlapping output from the saved system properties. The initialization of `savedProperties` in `jdk.vm.ci.services.Services` is correctly synchronized, the issue suggests that two separate libjvmci compiler isolates are each printing their own set of saved properties.
> 
> In a successful test run, the `CompileBroker` thread aborts the VM before it completes initialization, displaying the error message `Cannot use JVMCI compiler: Value of jvmci.Compiler is “null”` (due to the `-Djvmci.Compiler=null` setting), and the message `DONE IN MAIN` is never printed. However, in the failed test output, the `DONE IN MAIN` message appears, indicating that the VM initialization completed and created the `JVMCIRuntime` instance. The `CompileBroker` thread might have concurrently initialized `JVMCIRuntime` in another isolate. Since each `JVMCIRuntime` initialization outputs system properties, this is likely the cause of the overlapping output.
> 
> The proposed solution is to use the `-XX:+EnableJVMCI` flag instead of `-XX:+UseJVMCICompiler`, to avoid this issue.

This pull request has now been integrated.

Changeset: 330f2b5a
Author:    Tomas Zezula <tzezula at openjdk.org>
Committer: Doug Simon <dnsimon at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/330f2b5a9cad02b8e6882fc6eee996d7792d3de1
Stats:     3 lines in 1 file changed: 0 ins; 2 del; 1 mod

8342295: compiler/jvmci/TestJVMCISavedProperties.java fails due to garbage in output

Reviewed-by: dnsimon

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

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


More information about the hotspot-compiler-dev mailing list