RFR: 8297570: jdk/jfr/threading/TestDeepVirtualStackTrace.java fails with -XX:-UseTLAB
Aleksey Shipilev
shade at openjdk.org
Thu Nov 24 16:11:21 UTC 2022
On Thu, 24 Nov 2022 16:05:41 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:
>> 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.
These stackless events come from JIT compiler allocations. Compiler threads are "Java threads" (you can even see them in `jstack`), but they don't have the Java stack. So you have the events like:
jdk.ObjectAllocationOutsideTLAB {
startTime = 18:05:34.023 (2022-11-24)
objectClass = java.lang.String (classLoader = bootstrap)
allocationSize = 24 bytes
eventThread = "C1 CompilerThread0" (javaThreadId = 25)
}
-------------
PR: https://git.openjdk.org/jdk/pull/11352
More information about the hotspot-jfr-dev
mailing list