RFR: 8349755: Fix corner case issues in async UL [v7]

Johan Sjölen jsjolen at openjdk.org
Wed Feb 12 12:42:57 UTC 2025


On Wed, 12 Feb 2025 08:35:35 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Johan Sjölen has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Use -Xlog:all=debug for entering the deathtest message
>
> test/hotspot/jtreg/runtime/logging/AsyncDeathTestNonProduct.java line 39:
> 
>> 37: import jdk.test.lib.process.OutputAnalyzer;
>> 38: 
>> 39: public class AsyncDeathNonProduct {
> 
> Did you mean to call this `AsyncDeathNonDebug` ??
> 
> You could just have one test file and two @test sections: one for debug and one for non-debug, then adapt the logic accordingly.  But this non-debug version isn't verifying the correct execution of recursive logging in product mode, because there is no actual recursive logging being performed - this test isn't doing anything. You would need some product logging to actually verify that but then anything that did `-Xlog:all` would crash. So perhaps just delete this version of the test.

I meant to call it `NonProduct`, and the rest of your message is confusing to me so I've probably misunderstood what my test does and what `NOT_PRODUCT` means :-).

I've got:

```c++
NOT_PRODUCT(log_debug(deathtest)("Induce a recursive log for testing");)


I thought `NON_PRODUCT` means that this is included regardless of  `assert`s being enabled, but will not be shipped in a product build of the JDK. That's what I want to do, as that let's me test recursive logging without any asserts being triggered.

I'll look into the test section suggestion.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23513#discussion_r1952571548


More information about the hotspot-runtime-dev mailing list