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

jdk_util_1 java/util/concurrent/tck/JSR166TestCase.java#default.JSR166TestCase_default java.lang.Exception on JDK11 xlinux with -Xgcpolicy:balanced #19368

Open llxia opened 4 months ago

llxia commented 4 months ago

internal link

00:01:49.808  openjdk version "11.0.23-internal" 2024-04-16
00:01:49.808  OpenJDK Runtime Environment (build 11.0.23-internal+0-adhoc..BuildJDK11x86-64linuxNightly)
00:01:49.808  Eclipse OpenJ9 VM (build master-7f82a7d, JRE 11 Linux amd64-64-Bit Compressed References 20240419_790 (JIT enabled, AOT enabled)
00:01:49.808  OpenJ9   - 7f82a7d
00:01:49.808  OMR      - 9083c82
00:01:49.808  JCL      - 95a3a61 based on jdk-11.0.23+9)

java/util/concurrent/tck/JSR166TestCase.java#default

00:27:56.638  JavaTest Message: JUnit Failure: testSerialization(SynchronousQueueTest): null
00:27:56.638  junit.framework.AssertionFailedError
00:27:56.638    at junit.framework.Assert.fail(Assert.java:55)
00:27:56.638    at junit.framework.Assert.assertTrue(Assert.java:22)
00:27:56.638    at junit.framework.Assert.assertTrue(Assert.java:31)
00:27:56.638    at junit.framework.TestCase.assertTrue(TestCase.java:200)
00:27:56.638    at JSR166TestCase.assertSerialEquals(JSR166TestCase.java:1788)
00:27:56.638    at SynchronousQueueTest.testSerialization(SynchronousQueueTest.java:572)
00:27:56.638    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
00:27:56.638    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
00:27:56.638    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
00:27:56.638    at java.base/java.lang.reflect.Method.invoke(Method.java:572)
00:27:56.638    at junit.framework.TestCase.runTest(TestCase.java:177)
00:27:56.638    at JSR166TestCase.runTest(JSR166TestCase.java:376)
00:27:56.638    at junit.framework.TestCase.runBare(TestCase.java:142)
00:27:56.638    at JSR166TestCase.runBare(JSR166TestCase.java:367)
00:27:56.638    at junit.framework.TestResult$1.protect(TestResult.java:122)
00:27:56.638    at junit.framework.TestResult.runProtected(TestResult.java:142)
00:27:56.638    at junit.framework.TestResult.run(TestResult.java:125)
00:27:56.638    at junit.framework.TestCase.run(TestCase.java:130)
00:27:56.638    at junit.framework.TestSuite.runTest(TestSuite.java:241)
00:27:56.638    at junit.framework.TestSuite.run(TestSuite.java:236)
00:27:56.638    at junit.framework.TestSuite.runTest(TestSuite.java:241)
00:27:56.638    at junit.framework.TestSuite.run(TestSuite.java:236)
00:27:56.638    at junit.framework.TestSuite.runTest(TestSuite.java:241)
00:27:56.638    at junit.framework.TestSuite.run(TestSuite.java:236)
00:27:56.638    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:90)
00:27:56.638    at org.junit.runners.Suite.runChild(Suite.java:128)
00:27:56.638    at org.junit.runners.Suite.runChild(Suite.java:27)
00:27:56.638    at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
00:27:56.638    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
00:27:56.638    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
00:27:56.638    at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
00:27:56.638    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
00:27:56.638    at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
00:27:56.638    at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
00:27:56.638    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
00:27:56.638    at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
00:27:56.638    at org.junit.runner.JUnitCore.run(JUnitCore.java:105)
00:27:56.638    at org.junit.runner.JUnitCore.runClasses(JUnitCore.java:62)
00:27:56.638    at org.junit.runner.JUnitCore.runClasses(JUnitCore.java:49)
00:27:56.638    at com.sun.javatest.regtest.agent.JUnitRunner.main(JUnitRunner.java:76)
00:27:56.638    at com.sun.javatest.regtest.agent.JUnitRunner.main(JUnitRunner.java:43)
00:27:56.638    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
00:27:56.638    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
00:27:56.638    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
00:27:56.638    at java.base/java.lang.reflect.Method.invoke(Method.java:572)
00:27:56.638    at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
00:27:56.638    at java.base/java.lang.Thread.run(Thread.java:839)
00:27:56.638  
00:27:56.638  java.lang.Exception: JUnit test failure
00:27:56.638    at com.sun.javatest.regtest.agent.JUnitRunner.main(JUnitRunner.java:92)
00:27:56.638    at com.sun.javatest.regtest.agent.JUnitRunner.main(JUnitRunner.java:43)
00:27:56.638    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
00:27:56.638    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
00:27:56.638    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
00:27:56.638    at java.base/java.lang.reflect.Method.invoke(Method.java:572)
00:27:56.638    at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
00:27:56.638    at java.base/java.lang.Thread.run(Thread.java:839)
00:27:56.638  
00:27:56.638  JavaTest Message: Test threw exception: java.lang.Exception: JUnit test failure
00:27:56.638  JavaTest Message: shutting down test
00:27:56.638  
00:27:56.638  STATUS:Failed.`main' threw exception: java.lang.Exception: JUnit test failure

The test passed without -Xgcpolicy:balanced (link)

pshipton commented 4 months ago

We'll have to figure out if it's a gc or jit issue.

pshipton commented 4 months ago

Attempt to capture a system core on the exception throw, on xlinux jdk11. https://openj9-jenkins.osuosl.org/view/Test/job/Grinder/3514/ - passed

Try again on 5 machines https://openj9-jenkins.osuosl.org/view/Test/job/Grinder/3517/ - passed