RFR: 8350214: Test gtest/AsyncLogGtest.java fails after JDK-8349755

David Holmes dholmes at openjdk.org
Thu Feb 20 01:09:56 UTC 2025


On Wed, 19 Feb 2025 13:29:39 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:

> Hi,
> 
> [8349755](https://bugs.openjdk.org/browse/JDK-8349755) introduced a bug in debug builds when running with -Xlog:async -Xlog:all=debug. Specifically, this will cause UL to select for deathtest and deathtest2, which should only be selected when explicitly asked for.
> 
> In order to fix this, I've added some develop-only globals. We now only log if either of the testing globals are set, and we only crash on recursive logging if `TestingAsyncLoggingDeathTestNoCrash` is set to `false`.
> 
> Let's go through the cases:
> 
> 
> -Xlog:all=debug => deathtest isn't logged because the globals aren't set => Only non-deathtest recursive logs crash (as it should be)
> -Xlog:all=debug + TestingAsyncLoggingDeathTestNoCrash => deathtest is logged, but TestingAsyncLoggingDeathTestNoCrash is true so the ShouldNotReachHere branch isn't taken
> -Xlog:all=debug + TestingAsyncLoggingDeathTest => deathtest is logged, and it crashes

This approach to testing works better for me. Looks good modulo the one change Axel requested.

Thanks

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

Marked as reviewed by dholmes (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/23695#pullrequestreview-2628341146


More information about the hotspot-runtime-dev mailing list