dragonwell-project / dragonwell11

Alibaba Dragonwell11 JDK
https://www.aliyun.com/product/dragonwell
GNU General Public License v2.0
561 stars 115 forks source link

[Bug] test/jdk/jdk/jfr/api/consumer/TestRecordedFullStackTrace.java run timeout with -Xcomp #357

Open sendaoYan opened 1 year ago

sendaoYan commented 1 year ago

Description test/jdk/jdk/jfr/api/consumer/TestRecordedFullStackTrace.java run timeout with -Xcomp

Steps to Reproduce Steps to reproduce the behavior:

jtreg -va -nr -w tmp2 -Xcomp -timeout:4 test/jdk/jdk/jfr/api/consumer/TestRecordedFullStackTrace.java
Timeout information:
Running jstack on process 3053107
2022-12-29 12:54:42
Full thread dump OpenJDK 64-Bit Server VM (21-internal-adhoc.yansendao.jdk compiled mode, sharing):

Threads class SMR info:
_java_thread_list=0x00007fe1a0002120, length=17, elements={
0x00007fe21002a750, 0x00007fe2101a6180, 0x00007fe2101a76e0, 0x00007fe2101a9080,
0x00007fe2101aa510, 0x00007fe2101ab990, 0x00007fe2101ad390, 0x00007fe2101ae930,
0x00007fe2101c9350, 0x00007fe210201f90, 0x00007fe21022bcb0, 0x00007fe17c00dcb0,
0x00007fe17c00ec80, 0x00007fe17c00fba0, 0x00007fe17c0379f0, 0x00007fe17ceb82a0,
0x00007fe1a0000e70
}

"main" #1 [3053110] prio=5 os_prio=0 cpu=144.72ms elapsed=480.21s tid=0x00007fe21002a750 nid=3053110 in Object.wait()  [0x00007fe217a0e000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait0(java.base@21-internal/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait(java.base@21-internal/Object.java:366)
        at java.lang.Thread.join(java.base@21-internal/Thread.java:2115)
        - locked <0x00000000a0000068> (a java.lang.Thread)
        at java.lang.Thread.join(java.base@21-internal/Thread.java:2191)
        at com.sun.javatest.regtest.agent.MainWrapper.main(MainWrapper.java:72)

"Reference Handler" #8 [3053117] daemon prio=10 os_prio=0 cpu=1.17ms elapsed=480.17s tid=0x00007fe2101a6180 nid=3053117 waiting on condition  [0x00007fe1c05cb000]
   java.lang.Thread.State: RUNNABLE
        at java.lang.ref.Reference.waitForReferencePendingList(java.base@21-internal/Native Method)
        at java.lang.ref.Reference.processPendingReferences(java.base@21-internal/Reference.java:246)
        at java.lang.ref.Reference$ReferenceHandler.run(java.base@21-internal/Reference.java:208)

"Finalizer" #9 [3053118] daemon prio=8 os_prio=0 cpu=0.25ms elapsed=480.17s tid=0x00007fe2101a76e0 nid=3053118 in Object.wait()  [0x00007fe1c04ca000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait0(java.base@21-internal/Native Method)
        - waiting on <0x00000000a0001090> (a java.lang.ref.NativeReferenceQueue$Lock)
        at java.lang.Object.wait(java.base@21-internal/Object.java:366)
        at java.lang.Object.wait(java.base@21-internal/Object.java:339)
        at java.lang.ref.NativeReferenceQueue.await(java.base@21-internal/NativeReferenceQueue.java:48)
        at java.lang.ref.ReferenceQueue.remove0(java.base@21-internal/ReferenceQueue.java:158)
        at java.lang.ref.NativeReferenceQueue.remove(java.base@21-internal/NativeReferenceQueue.java:89)
        - locked <0x00000000a0001090> (a java.lang.ref.NativeReferenceQueue$Lock)
        at java.lang.ref.Finalizer$FinalizerThread.run(java.base@21-internal/Finalizer.java:173)

"Signal Dispatcher" #10 [3053119] daemon prio=9 os_prio=0 cpu=0.26ms elapsed=480.17s tid=0x00007fe2101a9080 nid=3053119 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Service Thread" #11 [3053120] daemon prio=9 os_prio=0 cpu=0.21ms elapsed=480.17s tid=0x00007fe2101aa510 nid=3053120 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Monitor Deflation Thread" #12 [3053121] daemon prio=9 os_prio=0 cpu=3.32ms elapsed=480.17s tid=0x00007fe2101ab990 nid=3053121 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #13 [3053122] daemon prio=9 os_prio=0 cpu=20089.74ms elapsed=480.17s tid=0x00007fe2101ad390 nid=3053122 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"C1 CompilerThread0" #23 [3053123] daemon prio=9 os_prio=0 cpu=2707.26ms elapsed=480.17s tid=0x00007fe2101ae930 nid=3053123 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"Common-Cleaner" #28 [3053124] daemon prio=8 os_prio=0 cpu=2.63ms elapsed=477.10s tid=0x00007fe2101c9350 nid=3053124 waiting on condition  [0x00007fe19fdfc000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@21-internal/Native Method)
        - parking to wait for  <0x00000000a00020c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(java.base@21-internal/LockSupport.java:269)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@21-internal/AbstractQueuedSynchronizer.java:1847)
        at java.lang.ref.ReferenceQueue.await(java.base@21-internal/ReferenceQueue.java:71)
        at java.lang.ref.ReferenceQueue.remove0(java.base@21-internal/ReferenceQueue.java:143)
        at java.lang.ref.ReferenceQueue.remove(java.base@21-internal/ReferenceQueue.java:218)
        at jdk.internal.ref.CleanerImpl.run(java.base@21-internal/CleanerImpl.java:140)
        at java.lang.Thread.runWith(java.base@21-internal/Thread.java:1636)
        at java.lang.Thread.run(java.base@21-internal/Thread.java:1623)
        at jdk.internal.misc.InnocuousThread.run(java.base@21-internal/InnocuousThread.java:186)

"Notification Thread" #29 [3053125] daemon prio=9 os_prio=0 cpu=0.06ms elapsed=476.38s tid=0x00007fe210201f90 nid=3053125 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"MainThread" #32 [3053127] prio=5 os_prio=0 cpu=31881.74ms elapsed=474.76s tid=0x00007fe21022bcb0 nid=3053127 waiting on condition  [0x00007fe19faf8000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep0(java.base@21-internal/Native Method)
        at java.lang.Thread.sleep(java.base@21-internal/Thread.java:484)
        at jdk.jfr.api.consumer.TestRecordedFullStackTrace.assertStackTraces(TestRecordedFullStackTrace.java:83)
        at jdk.jfr.api.consumer.TestRecordedFullStackTrace.main(TestRecordedFullStackTrace.java:69)
        at java.lang.invoke.LambdaForm$DMH/0x0000000801001800.invokeStatic(java.base@21-internal/LambdaForm$DMH)
        at java.lang.invoke.LambdaForm$MH/0x0000000801002c00.invoke(java.base@21-internal/LambdaForm$MH)
        at java.lang.invoke.Invokers$Holder.invokeExact_MT(java.base@21-internal/Invokers$Holder)
        at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(java.base@21-internal/DirectMethodHandleAccessor.java:155)
        at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(java.base@21-internal/DirectMethodHandleAccessor.java:104)
        at java.lang.reflect.Method.invoke(java.base@21-internal/Method.java:578)
        at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:125)
        at java.lang.Thread.runWith(java.base@21-internal/Thread.java:1636)
        at java.lang.Thread.run(java.base@21-internal/Thread.java:1623)

"recursethread-63" #33 [3053128] prio=5 os_prio=0 cpu=470888.45ms elapsed=474.11s tid=0x00007fe17c00dcb0 nid=3053128 runnable  [0x00007fe19f9f6000]
   java.lang.Thread.State: RUNNABLE
        at jdk.test.lib.jfr.RecurseThread.recurseEnd(RecurseThread.java:86)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:64)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.recurseB(RecurseThread.java:74)
        at jdk.test.lib.jfr.RecurseThread.recurseA(RecurseThread.java:66)
        at jdk.test.lib.jfr.RecurseThread.run(RecurseThread.java:51)

TEST RESULT: Error. Program `/home/yansendao/git/jdk/install/jvm/openjdk-21-internal/bin/java' timed out (timeout set to 480000ms, elapsed time including timeout handling was 480239ms).

Expected behavior run pass

JDK version

openjdk version "21-internal" 2023-09-19
OpenJDK Runtime Environment (build 21-internal-adhoc.yansendao.jdk)
OpenJDK 64-Bit Server VM (build 21-internal-adhoc.yansendao.jdk, mixed mode, sharing)

Execution environment image

sendaoYan commented 1 year ago
jdk/jfr/api/consumer/TestRecordedFullStackTrace.java
jdk/jfr/api/metadata/eventtype/TestUnloadingEventClass.java
jdk/jfr/event/compiler/TestCompilerInlining.java
jdk/jfr/event/profiling/TestFullStackTrace.java

4个用例有类似的情况