dragonwell-project / dragonwell21

GNU General Public License v2.0
66 stars 19 forks source link

[upstream][jdk23]sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java intermittently timeout #40

Open sendaoYan opened 6 months ago

sendaoYan commented 6 months ago

job: https://tone.aliyun-inc.com/ws/xesljfzh/test_result/295074 rerun job:
https://tone.aliyun-inc.com/ws/xesljfzh/test_result/295080 https://tone.aliyun-inc.com/ws/xesljfzh/test_result/295106

"MainThread" #31 [2796684] prio=5 os_prio=0 cpu=73.05ms elapsed=480.28s tid=0x00007f69b8210e40 nid=2796684 waiting on condition  [0x00007f697c5a2000]
   java.lang.Thread.State: WAITING (parking)
    at jdk.internal.misc.Unsafe.park(java.base@23/Native Method)
    - parking to wait for  <0x0000000437001830> (a java.util.concurrent.Semaphore$NonfairSync)
    at java.util.concurrent.locks.LockSupport.park(java.base@23/LockSupport.java:221)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(java.base@23/AbstractQueuedSynchronizer.java:754)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(java.base@23/AbstractQueuedSynchronizer.java:1099)
    at java.util.concurrent.Semaphore.acquire(java.base@23/Semaphore.java:475)
    at MonitorVmStartTerminate.main(MonitorVmStartTerminate.java:99)
    at java.lang.invoke.LambdaForm$DMH/0x00007f692f002000.invokeStatic(java.base@23/LambdaForm$DMH)
    at java.lang.invoke.LambdaForm$MH/0x00007f692f003400.invoke(java.base@23/LambdaForm$MH)
    at java.lang.invoke.Invokers$Holder.invokeExact_MT(java.base@23/Invokers$Holder)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(java.base@23/DirectMethodHandleAccessor.java:154)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(java.base@23/DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke(java.base@23/Method.java:580)
    at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
    at java.lang.Thread.runWith(java.base@23/Thread.java:1588)
    at java.lang.Thread.run(java.base@23/Thread.java:1575)

"Timer-0" #42 [2796734] daemon prio=5 os_prio=0 cpu=136412.00ms elapsed=480.20s tid=0x00007f68e00232d0 nid=2796734 waiting on condition  [0x00007f697c4a1000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
    at java.lang.Thread.sleepNanos0(java.base@23/Native Method)
    at java.lang.Thread.sleepNanos(java.base@23/Thread.java:496)
    at java.lang.Thread.sleep(java.base@23/Thread.java:527)
    at MonitorVmStartTerminate.takeNap(MonitorVmStartTerminate.java:343)
    at MonitorVmStartTerminate$Listener.hasMainArgs(MonitorVmStartTerminate.java:197)
    at MonitorVmStartTerminate$Listener.releaseStarted(MonitorVmStartTerminate.java:150)
    at MonitorVmStartTerminate$Listener.releaseStarted(MonitorVmStartTerminate.java:144)
    at MonitorVmStartTerminate$Listener.vmStatusChanged(MonitorVmStartTerminate.java:126)
    at sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider.fireVmStatusChangedEvents(jdk.internal.jvmstat@23/MonitoredHostProvider.java:177)
    at sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider$NotifierTask.run(jdk.internal.jvmstat@23/MonitoredHostProvider.java:215)
    at java.util.TimerThread.mainLoop(java.base@23/Timer.java:572)
    at java.util.TimerThread.run(java.base@23/Timer.java:522)

"Thread-12" #43 [2796735] prio=5 os_prio=0 cpu=13.17ms elapsed=480.20s tid=0x00007f68e0070800 nid=2796735 waiting on condition  [0x00007f697c3a0000]
   java.lang.Thread.State: WAITING (parking)
    at jdk.internal.misc.Unsafe.park(java.base@23/Native Method)
    - parking to wait for  <0x00000004370003f0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(java.base@23/LockSupport.java:371)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@23/AbstractQueuedSynchronizer.java:519)
    at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@23/ForkJoinPool.java:4016)
    at java.util.concurrent.ForkJoinPool.managedBlock(java.base@23/ForkJoinPool.java:3964)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@23/AbstractQueuedSynchronizer.java:1712)
    at java.lang.ProcessImpl.waitFor(java.base@23/ProcessImpl.java:425)
    at jdk.test.lib.process.OutputBuffer$LazyOutputBuffer.waitFor(OutputBuffer.java:162)
    at jdk.test.lib.process.OutputAnalyzer.waitFor(OutputAnalyzer.java:116)
    at jdk.test.lib.process.ProcessTools.executeProcess(ProcessTools.java:729)
    at jdk.test.lib.process.ProcessTools.executeProcess(ProcessTools.java:697)
    at jdk.test.lib.process.ProcessTools.executeProcess(ProcessTools.java:684)
    at MonitorVmStartTerminate$JavaProcess.executeJava(MonitorVmStartTerminate.java:329)
    at MonitorVmStartTerminate$JavaProcess$1.run(MonitorVmStartTerminate.java:298)
    at java.lang.Thread.runWith(java.base@23/Thread.java:1588)
    at java.lang.Thread.run(java.base@23/Thread.java:1575)

releaseStarted: not a test pid: 2779981
hasMainArgs(2796707): sun.jvmstat.monitor.MonitorException: Could not attach to 2796707
hasMainArgs(2796707): sun.jvmstat.monitor.MonitorException: Could not attach to 2796707
hasMainArgs(2796707): sun.jvmstat.monitor.MonitorException: Could not attach to 2796707
hasMainArgs(2796707): sun.jvmstat.monitor.MonitorException: Could not attach to 2796707
hasMainArgs(2796707): sun.jvmstat.monitor.MonitorException: Could not attach to 2796707
hasMainArgs(2796707): sun.jvmstat.monitor.MonitorException: Could not attach to 2796707
hasMainArgs(2796707): sun.jvmstat.monitor.MonitorException: Could not attach to 2796707
hasMainArgs(2796707): sun.jvmstat.monitor.MonitorException: Could not attach to 2796707
hasMainArgs(2796707): sun.jvmstat.monitor.MonitorException: Could not attach to 2796707
hasMainArgs(2796707): sun.jvmstat.monitor.Monito

MonitorVmStartTerminate.log

image

2342.log 3305.log 3307.log 3314.log 3327.log 3337.log 3338.log 3345.log 3375.log 3376.log 3377.log 3388.log 8696.log

sendaoYan commented 6 months ago

本地运行复现概率: image

export test=test/jdk/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java
function runJtreg() { jtreg -ea -esa -timeoutFactor:4 -v:fail,error,time,nopass -nr -w $dir/index-$1 $test &> $dir/$1.log ; if [[ 0 -ne $? ]] ; then echo -n "$1 " ; else rm -rf $dir/index-$1 $dir/$1.log ; fi ; } ; export -f runJtreg ; export dir="tmp-jtreg-"`basename ${test##* } .java | sed "s|#|_|"` ; rm -rf $dir ; mkdir -p $dir ; time seq 10000 | xargs -i -n 1 -P `nproc` bash -c "runJtreg {}" ; echo total fail number: `ls $dir/*.log 2> /dev/null | wc | awk '{print $1}'`

2342.log

sendaoYan commented 6 months ago

归档.zip