RFR: 8297570: jdk/jfr/threading/TestDeepVirtualStackTrace.java fails with -XX:-UseTLAB

Markus Grönlund mgronlun at openjdk.org
Thu Nov 24 16:11:21 UTC 2022


On Thu, 24 Nov 2022 15:57:05 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:

>> This is the only test in `jdk_loom` that fails without `-XX:-UseTLAB`. The test specifically looks for `ObjectAllocationOutsideTLAB` event, and there are lots of those events with `-XX:-UseTLAB`. We can fix the test to look for the event we actually want.
>> 
>> This depends on [JDK-8297491](https://bugs.openjdk.org/browse/JDK-8297491) that fixed Loom code to actually disable TLABs.
>> 
>> Additional testing:
>>  - [x] Linux x86_64 fastdebug, affected test with `-XX:+UseTLAB` and `-XX:-UseTLAB`
>>  - [x] Linux x86_64 fastdebug, `jdk_loom` with `{Serial, Parallel, G1, Shenandoah, Z} x {+UseTLAB, -UseTLAB}`
>
> test/jdk/jdk/jfr/threading/TestDeepVirtualStackTrace.java line 109:
> 
>> 107:                 System.out.println(event);
>> 108:                 RecordedStackTrace stackTrace = event.getStackTrace();
>> 109:                 if (stackTrace == null) {
> 
> This is interesting. Did you see events that did not have a stacktrace associated? jdk.ObjectAllocationOutsideTLAB?

If that is the case, my hypothesis is that there are allocation sites that do not set the ljf, and therefore the stack trace code early out with a 0. Need to check with -XX:-UseTLAB, though.

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

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


More information about the hotspot-jfr-dev mailing list