eclipse-openj9 / openj9

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Other
3.27k stars 721 forks source link

zLinux : java/nio/channels/AsynchronousFileChannel/Lock.java - IOException: Resource deadlock avoided #13018

Open JasonFengJ9 opened 3 years ago

JasonFengJ9 commented 3 years ago

Failure link

From an internal build Test_openjdk16_j9_extended.openjdk_s390x_linux/15/ (ub18s390xrt-1-2):

openjdk version "16.0.1" 2021-04-20
OpenJDK Runtime Environment Temurin-16.0.1+9 (build 16.0.1+9)
Eclipse OpenJ9 VM Temurin-16.0.1+9 (build master-0be9a6f3f, JRE 16 Linux s390x-64-Bit Compressed References 20210619_47 (JIT enabled, AOT enabled)
OpenJ9   - 0be9a6f3f
OMR      - b7eb96336
JCL      - 831f892085 based on jdk-16.0.1+9)

Rerun in Grinder

Optional info

Failure output (captured from console output)

[2021-06-19T16:56:34.539Z] Running test jdk_nio_1 ...
[2021-06-19T16:56:34.539Z] ===============================================
[2021-06-19T16:56:34.539Z] jdk_nio_1 Start Time: Sat Jun 19 09:56:33 2021 Epoch Time (ms): 1624121793642
[2021-06-19T16:56:34.539Z] "/home/jenkins/workspace/Test_openjdk16_j9_extended.openjdk_s390x_linux/openjdkbinary/j2sdk-image/bin/java" -Xshareclasses:destroyAll; "/home/jenkins/workspace/Test_openjdk16_j9_extended.openjdk_s390x_linux/openjdkbinary/j2sdk-image/bin/java" -Xshareclasses:groupAccess,destroyAll; echo "cache cleanup done";
[2021-06-19T16:56:34.539Z] JVMSHRC005I No shared class caches available
[2021-06-19T16:56:34.539Z] JVMSHRC005I No shared class caches available
[2021-06-19T16:56:34.539Z] cache cleanup done
[2021-06-19T16:56:34.539Z] variation: Mode650
[2021-06-19T16:56:34.539Z] JVM_OPTIONS:  -XX:-UseCompressedOops 

[2021-06-19T16:57:27.735Z] --------------------------------------------------
[2021-06-19T16:57:27.735Z] TEST: java/nio/channels/AsynchronousFileChannel/Lock.java

[2021-06-19T16:57:27.884Z] STDERR:
[2021-06-19T16:57:27.884Z] java.util.concurrent.ExecutionException: java.io.IOException: Resource deadlock avoided
[2021-06-19T16:57:27.884Z]  at java.base/sun.nio.ch.PendingFuture.get(PendingFuture.java:200)
[2021-06-19T16:57:27.884Z]  at Lock.testAsyncClose(Lock.java:125)
[2021-06-19T16:57:27.884Z]  at Lock.main(Lock.java:63)
[2021-06-19T16:57:27.884Z]  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2021-06-19T16:57:27.884Z]  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
[2021-06-19T16:57:27.884Z]  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2021-06-19T16:57:27.884Z]  at java.base/java.lang.reflect.Method.invoke(Method.java:567)
[2021-06-19T16:57:27.884Z]  at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
[2021-06-19T16:57:27.884Z]  at java.base/java.lang.Thread.run(Thread.java:883)
[2021-06-19T16:57:27.884Z] Caused by: java.io.IOException: Resource deadlock avoided
[2021-06-19T16:57:27.884Z]  at java.base/sun.nio.ch.FileDispatcherImpl.lock0(Native Method)
[2021-06-19T16:57:27.884Z]  at java.base/sun.nio.ch.FileDispatcherImpl.lock(FileDispatcherImpl.java:96)
[2021-06-19T16:57:27.884Z]  at java.base/sun.nio.ch.SimpleAsynchronousFileChannelImpl$1.run(SimpleAsynchronousFileChannelImpl.java:206)
[2021-06-19T16:57:27.884Z]  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
[2021-06-19T16:57:27.884Z]  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
[2021-06-19T16:57:27.884Z]  at java.base/java.lang.Thread.run(Thread.java:883)
[2021-06-19T16:57:27.884Z]  at java.base/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:134)
[2021-06-19T16:57:27.884Z] 
[2021-06-19T16:57:27.884Z] JavaTest Message: Test threw exception: java.util.concurrent.ExecutionException
[2021-06-19T16:57:27.884Z] JavaTest Message: shutting down test
[2021-06-19T16:57:27.884Z] 
[2021-06-19T16:57:27.884Z] 
[2021-06-19T16:57:27.884Z] TEST RESULT: Failed. Execution failed: `main' threw exception: java.util.concurrent.ExecutionException: java.io.IOException: Resource deadlock avoided
[2021-06-19T16:57:27.884Z] --------------------------------------------------
[2021-06-19T17:12:14.507Z] Test results: passed: 434; failed: 1
[2021-06-19T17:12:41.592Z] Report written to /home/jenkins/workspace/Test_openjdk16_j9_extended.openjdk_s390x_linux/jvmtest/openjdk/report/html/report.html
[2021-06-19T17:12:41.592Z] Results written to /home/jenkins/workspace/Test_openjdk16_j9_extended.openjdk_s390x_linux/aqa-tests/TKG/output_16241105881284/jdk_nio_1/work
[2021-06-19T17:12:41.592Z] Error: Some tests failed or other problems occurred.
[2021-06-19T17:12:41.592Z] 
[2021-06-19T17:12:41.592Z] jdk_nio_1_FAILED

10x grinder at 3 machines (Grinder/16473/), 3x grinder at same machine (Grinder/16474/ - passed).

pshipton commented 3 years ago

Running all extended.openjdk is overkill. this suite takes a long time, running jdk_nio_1 is more appropriate.

pshipton commented 3 years ago

This problem wasn't repeated. java/nio/channels/DatagramChannel/AdaptorMulticasting.java.AdaptorMulticasting and java/nio/channels/DatagramChannel/Loopback.java.Loopback failed on rhel7s390x-4-3 , but not on ub18s390xrt-1-3 or ub18s390xrt-1-9.

JasonFengJ9 commented 5 months ago

JDK17 s390x_linux(rhel9s390x-svl-rt2-1)

[2024-03-30T15:41:52.482Z] variation: Mode150
[2024-03-30T15:41:52.482Z] JVM_OPTIONS:  -XX:+UseCompressedOops -Xverbosegclog 

[2024-03-30T15:43:14.113Z] TEST: java/nio/channels/AsynchronousFileChannel/Lock.java

[2024-03-30T15:43:14.114Z] STDERR:
[2024-03-30T15:43:14.114Z] java.util.concurrent.ExecutionException: java.io.IOException: Resource deadlock avoided
[2024-03-30T15:43:14.114Z]  at java.base/sun.nio.ch.PendingFuture.get(PendingFuture.java:200)
[2024-03-30T15:43:14.114Z]  at Lock.testAsyncClose(Lock.java:125)
[2024-03-30T15:43:14.114Z]  at Lock.main(Lock.java:63)
[2024-03-30T15:43:14.114Z]  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[2024-03-30T15:43:14.114Z]  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[2024-03-30T15:43:14.114Z]  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2024-03-30T15:43:14.114Z]  at java.base/java.lang.reflect.Method.invoke(Method.java:574)
[2024-03-30T15:43:14.114Z]  at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:333)
[2024-03-30T15:43:14.114Z]  at java.base/java.lang.Thread.run(Thread.java:857)
[2024-03-30T15:43:14.114Z] Caused by: java.io.IOException: Resource deadlock avoided
[2024-03-30T15:43:14.114Z]  at java.base/sun.nio.ch.FileDispatcherImpl.lock0(Native Method)
[2024-03-30T15:43:14.114Z]  at java.base/sun.nio.ch.FileDispatcherImpl.lock(FileDispatcherImpl.java:96)
[2024-03-30T15:43:14.114Z]  at java.base/sun.nio.ch.SimpleAsynchronousFileChannelImpl$1.run(SimpleAsynchronousFileChannelImpl.java:206)
[2024-03-30T15:43:14.114Z]  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[2024-03-30T15:43:14.114Z]  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[2024-03-30T15:43:14.114Z]  at java.base/java.lang.Thread.run(Thread.java:857)
[2024-03-30T15:43:14.114Z]  at java.base/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:162)
[2024-03-30T15:43:14.114Z] 
[2024-03-30T15:43:14.114Z] JavaTest Message: Test threw exception: java.util.concurrent.ExecutionException
[2024-03-30T15:43:14.114Z] JavaTest Message: shutting down test
[2024-03-30T15:43:14.114Z] 
[2024-03-30T15:43:14.114Z] 
[2024-03-30T15:43:14.114Z] TEST RESULT: Failed. Execution failed: `main' threw exception: java.util.concurrent.ExecutionException: java.io.IOException: Resource deadlock avoided
[2024-03-30T15:43:14.114Z] --------------------------------------------------
[2024-03-30T15:54:16.963Z] Test results: passed: 439; failed: 1
[2024-03-30T15:54:48.673Z] Report written to /home/jenkins/workspace/Test_openjdk17_j9_extended.openjdk_s390x_linux_testList_1/aqa-tests/TKG/output_17118132969089/jdk_nio_0/report/html/report.html
[2024-03-30T15:54:48.673Z] Results written to /home/jenkins/workspace/Test_openjdk17_j9_extended.openjdk_s390x_linux_testList_1/aqa-tests/TKG/output_17118132969089/jdk_nio_0/work
[2024-03-30T15:54:48.673Z] Error: Some tests failed or other problems occurred.
[2024-03-30T15:54:48.673Z] -----------------------------------
[2024-03-30T15:54:48.673Z] jdk_nio_0_FAILED

50x grinder - https://github.com/eclipse-openj9/openj9/issues/13018#issuecomment-2039900172

pshipton commented 5 months ago

Grinder passed on rhel8s390x-svl-rt1-1, sles15s390x-svl-rt6-1, rhel7s390x-svl-rt10-1, sles15s390x-svl-rt2-1 Failed 10/10 on ubu22s390x-rt-2 but in java/nio/channels/FileChannel/Transfer2GPlus.java because "No space left on device". In other words, the failure in java/nio/channels/AsynchronousFileChannel/Lock.java wasn't repeated in the 50x grinder on jdk_nio_0.