dragonwell-project / dragonwell21

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

[jdk23]java/foreign/TestStubAllocFailure.java run timeout with -Xcomp #13

Open sendaoYan opened 9 months ago

sendaoYan commented 9 months ago

test command:

jtreg -Xcomp -nativepath:$PWD/build/linux-x86_64-server-release/images/test/jdk/jtreg/native test/jdk/java/foreign/TestStubAllocFailure.java

result:

"MainThread" #34 [77738] prio=5 os_prio=0 cpu=632.61ms elapsed=116.40s tid=0x00007f40542bff20 nid=77738 waiting on condition  [0x00007f3ff7dfa000]
   java.lang.Thread.State: WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@23/Native Method)
        - parking to wait for  <0x000000011f0782f8> (a java.util.concurrent.FutureTask)
        at java.util.concurrent.locks.LockSupport.park(java.base@23/LockSupport.java:221)
        at java.util.concurrent.FutureTask.awaitDone(java.base@23/FutureTask.java:500)
        at java.util.concurrent.FutureTask.get(java.base@23/FutureTask.java:190)
        at jdk.test.lib.process.OutputBuffer$LazyOutputBuffer$StreamTask.get(OutputBuffer.java:122)
        at jdk.test.lib.process.OutputBuffer$LazyOutputBuffer.getStdout(OutputBuffer.java:178)
        at jdk.test.lib.process.OutputAnalyzer.getStdout(OutputAnalyzer.java:594)
        at jdk.test.lib.process.OutputAnalyzer.outputTo(OutputAnalyzer.java:565)
        at UpcallTestHelper.runInNewProcess(UpcallTestHelper.java:60)
        at TestStubAllocFailure.testUDowncallAllocFailure(TestStubAllocFailure.java:56)
        at java.lang.invoke.LambdaForm$DMH/0x00007f3fb70ac000.invokeVirtual(java.base@23/LambdaForm$DMH)
        at java.lang.invoke.LambdaForm$MH/0x00007f3fb70ac800.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:153)
        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 org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
        at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
        at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
        at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
        at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
        at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
        at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
        at org.testng.TestRunner$$Lambda/0x00007f3fb70a4000.accept(Unknown Source)
        at java.util.ArrayList.forEach(java.base@23/ArrayList.java:1597)
        at org.testng.TestRunner.privateRun(TestRunner.java:764)
        at org.testng.TestRunner.run(TestRunner.java:585)
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
        at org.testng.SuiteRunner.run(SuiteRunner.java:286)
        at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
        at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
        at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
        at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
        at org.testng.TestNG.runSuites(TestNG.java:1069)
        at org.testng.TestNG.run(TestNG.java:1037)
        at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)
        at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)
        at java.lang.invoke.LambdaForm$DMH/0x00007f3fb7002000.invokeStatic(java.base@23/LambdaForm$DMH)
        at java.lang.invoke.LambdaForm$MH/0x00007f3fb7003400.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)

"process reaper (pid 78259)" #98 [78402] daemon prio=10 os_prio=0 cpu=0.63ms elapsed=99.95s tid=0x00007f3f781960b0 nid=78402 runnable  [0x00007f400406e000]
   java.lang.Thread.State: RUNNABLE
        at java.lang.ProcessHandleImpl.waitForProcessExit0(java.base@23/Native Method)
        at java.lang.ProcessHandleImpl$1.run(java.base@23/ProcessHandleImpl.java:163)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@23/ThreadPoolExecutor.java:1144)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@23/ThreadPoolExecutor.java:642)
        at java.lang.Thread.runWith(java.base@23/Thread.java:1588)
        at java.lang.Thread.run(java.base@23/Thread.java:1575)
        at jdk.internal.misc.InnocuousThread.run(java.base@23/InnocuousThread.java:186)

"Thread-1" #99 [78407] daemon prio=5 os_prio=0 cpu=1.66ms elapsed=99.69s tid=0x00007f3f7819a320 nid=78407 runnable  [0x00007f3fa46a8000]
   java.lang.Thread.State: RUNNABLE
        at java.io.FileInputStream.readBytes(java.base@23/Native Method)
        at java.io.FileInputStream.read(java.base@23/FileInputStream.java:287)
        at java.io.BufferedInputStream.read1(java.base@23/BufferedInputStream.java:345)
        at java.io.BufferedInputStream.implRead(java.base@23/BufferedInputStream.java:420)
        at java.io.BufferedInputStream.read(java.base@23/BufferedInputStream.java:405)
        - locked <0x000000011f00fa20> (a java.lang.ProcessImpl$ProcessPipeInputStream)
        at java.io.BufferedInputStream.fill(java.base@23/BufferedInputStream.java:291)
        at java.io.BufferedInputStream.read1(java.base@23/BufferedInputStream.java:347)
        at java.io.BufferedInputStream.implRead(java.base@23/BufferedInputStream.java:420)
        at java.io.BufferedInputStream.read(java.base@23/BufferedInputStream.java:399)
        at java.io.FilterInputStream.read(java.base@23/FilterInputStream.java:95)
        at jdk.test.lib.process.StreamPumper.run(StreamPumper.java:111)
        at java.util.concurrent.Executors$RunnableAdapter.call(java.base@23/Executors.java:572)
        at java.util.concurrent.FutureTask.run(java.base@23/FutureTask.java:317)
        at java.lang.Thread.runWith(java.base@23/Thread.java:1588)
        at java.lang.Thread.run(java.base@23/Thread.java:1575)

"Thread-2" #100 [78408] daemon prio=5 os_prio=0 cpu=0.30ms elapsed=99.68s tid=0x00007f3f7819ca50 nid=78408 runnable  [0x00007f3fa45a7000]
   java.lang.Thread.State: RUNNABLE
        at java.io.FileInputStream.readBytes(java.base@23/Native Method)
        at java.io.FileInputStream.read(java.base@23/FileInputStream.java:287)
        at java.io.BufferedInputStream.read1(java.base@23/BufferedInputStream.java:345)
        at java.io.BufferedInputStream.implRead(java.base@23/BufferedInputStream.java:420)
        at java.io.BufferedInputStream.read(java.base@23/BufferedInputStream.java:405)
        - locked <0x000000011f011b38> (a java.lang.ProcessImpl$ProcessPipeInputStream)
        at java.io.BufferedInputStream.fill(java.base@23/BufferedInputStream.java:291)
        at java.io.BufferedInputStream.read1(java.base@23/BufferedInputStream.java:347)
        at java.io.BufferedInputStream.implRead(java.base@23/BufferedInputStream.java:420)
        at java.io.BufferedInputStream.read(java.base@23/BufferedInputStream.java:399)
        at java.io.FilterInputStream.read(java.base@23/FilterInputStream.java:95)
        at jdk.test.lib.process.StreamPumper.run(StreamPumper.java:111)
        at java.util.concurrent.Executors$RunnableAdapter.call(java.base@23/Executors.java:572)
        at java.util.concurrent.FutureTask.run(java.base@23/FutureTask.java:317)
        at java.lang.Thread.runWith(java.base@23/Thread.java:1588)
        at java.lang.Thread.run(java.base@23/Thread.java:1575)

"Thread-3" #101 [78416] daemon prio=5 os_prio=0 cpu=332.37ms elapsed=99.01s tid=0x00007f3f781ad4c0 nid=78416 in Object.wait()  [0x00007f3fa44a6000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait0(java.base@23/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait(java.base@23/Object.java:375)
        at jdk.test.lib.process.ProcessTools$BufferOutputStream.readNext(ProcessTools.java:195)
        - locked <0x000000011f028aa8> (a jdk.test.lib.process.ProcessTools$BufferOutputStream)
        at jdk.test.lib.process.ProcessTools$BufferInputStream.read(ProcessTools.java:218)
        at java.io.InputStream.read(java.base@23/InputStream.java:296)
        at java.io.BufferedInputStream.fill(java.base@23/BufferedInputStream.java:291)
        at java.io.BufferedInputStream.read1(java.base@23/BufferedInputStream.java:347)
        at java.io.BufferedInputStream.implRead(java.base@23/BufferedInputStream.java:420)
        at java.io.BufferedInputStream.read(java.base@23/BufferedInputStream.java:399)
        at java.io.FilterInputStream.read(java.base@23/FilterInputStream.java:95)
        at jdk.test.lib.process.StreamPumper.run(StreamPumper.java:111)
        at java.util.concurrent.Executors$RunnableAdapter.call(java.base@23/Executors.java:572)
        at java.util.concurrent.FutureTask.run(java.base@23/FutureTask.java:317)
        at java.lang.Thread.runWith(java.base@23/Thread.java:1588)
        at java.lang.Thread.run(java.base@23/Thread.java:1575)

"Thread-4" #102 [78417] daemon prio=5 os_prio=0 cpu=336.03ms elapsed=99.00s tid=0x00007f3f781a6ab0 nid=78417 in Object.wait()  [0x00007f3fa43a5000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait0(java.base@23/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait(java.base@23/Object.java:375)
        at jdk.test.lib.process.ProcessTools$BufferOutputStream.readNext(ProcessTools.java:195)
        - locked <0x000000011f028b68> (a jdk.test.lib.process.ProcessTools$BufferOutputStream)
        at jdk.test.lib.process.ProcessTools$BufferInputStream.read(ProcessTools.java:218)
        at java.io.InputStream.read(java.base@23/InputStream.java:287)
        at java.io.BufferedInputStream.fill(java.base@23/BufferedInputStream.java:291)
        at java.io.BufferedInputStream.read1(java.base@23/BufferedInputStream.java:347)
        at java.io.BufferedInputStream.implRead(java.base@23/BufferedInputStream.java:420)
        at java.io.BufferedInputStream.read(java.base@23/BufferedInputStream.java:399)
        at java.io.FilterInputStream.read(java.base@23/FilterInputStream.java:95)
        at jdk.test.lib.process.StreamPumper.run(StreamPumper.java:111)
        at java.util.concurrent.Executors$RunnableAdapter.call(java.base@23/Executors.java:572)
        at java.util.concurrent.FutureTask.run(java.base@23/FutureTask.java:317)
        at java.lang.Thread.runWith(java.base@23/Thread.java:1588)
        at java.lang.Thread.run(java.base@23/Thread.java:1575)

STDOUT:
NativeTestHelper::DEFAULT_RANDOM.seed = 386613519
Re-run with '-DNativeTestHelper.DEFAULT_RANDOM.seed=386613519' to reproduce
Command line: [/home/yansendao/git/jdk/build/linux-x86_64-server-release/images/jdk/bin/java -cp /home/yansendao/git/jdk/tmp/classes/java/foreign/TestStubAllocFailure.d:/home/yansendao/git/jdk/test/jdk/java/foreign:/home/yansendao/git/jdk/tmp/classes/java:/home/yansendao/git/jdk/test/jdk/java:/home/yansendao/git/jdk/tmp/classes/test/lib:/home/yansendao/git/jdk/test/lib:/home/yansendao/software/jdk/jtreg-7/lib/testng-7.3.0.jar:/home/yansendao/software/jdk/jtreg-7/lib/guice-5.1.0.jar:/home/yansendao/software/jdk/jtreg-7/lib/jcommander-1.82.jar:/home/yansendao/software/jdk/jtreg-7/lib/javatest.jar:/home/yansendao/software/jdk/jtreg-7/lib/jtreg.jar -Xcomp --enable-native-access=ALL-UNNAMED -Djava.library.path=/home/yansendao/git/jdk/build/linux-x86_64-server-release/images/test/jdk/jtreg/native -Djdk.internal.foreign.UpcallLinker.USE_SPEC=true -XX:ReservedCodeCacheSize=3M TestStubAllocFailure$DowncallRunner ]
[TestStubAllocFailure$DowncallRunner]:/home/yansendao/git/jdk/build/linux-x86_64-server-release/images/jdk/bin/java -cp /home/yansendao/git/jdk/tmp/classes/java/foreign/TestStubAllocFailure.d:/home/yansendao/git/jdk/test/jdk/java/foreign:/home/yansendao/git/jdk/tmp/classes/java:/home/yansendao/git/jdk/test/jdk/java:/home/yansendao/git/jdk/tmp/classes/test/lib:/home/yansendao/git/jdk/test/lib:/home/yansendao/software/jdk/jtreg-7/lib/testng-7.3.0.jar:/home/yansendao/software/jdk/jtreg-7/lib/guice-5.1.0.jar:/home/yansendao/software/jdk/jtreg-7/lib/jcommander-1.82.jar:/home/yansendao/software/jdk/jtreg-7/lib/javatest.jar:/home/yansendao/software/jdk/jtreg-7/lib/jtreg.jar -Xcomp --enable-native-access=ALL-UNNAMED -Djava.library.path=/home/yansendao/git/jdk/build/linux-x86_64-server-release/images/test/jdk/jtreg/native -Djdk.internal.foreign.UpcallLinker.USE_SPEC=true -XX:ReservedCodeCacheSize=3M TestStubAllocFailure$DowncallRunner
[2024-01-19T12:46:50.968441549Z] Gathering output for process 78259
[TestStubAllocFailure$DowncallRunner] NativeTestHelper::DEFAULT_RANDOM.seed = 1833056449
[TestStubAllocFailure$DowncallRunner] Re-run with '-DNativeTestHelper.DEFAULT_RANDOM.seed=1833056449' to reproduce
Timeout signalled after 120 seconds
sendaoYan commented 9 months ago

https://code.alibaba-inc.com/os-quality/tone-matrix-compiler/codereview/15466251