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