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

jcstress_FinalWrapper_0_FAILED IllegalStateException: @Contended does not seem to work properly #16569

Open JasonFengJ9 opened 1 year ago

JasonFengJ9 commented 1 year ago

Failure link

From an internal build(paix819):

openjdk version "1.8.0_362"
IBM Semeru Runtime Open Edition (build 1.8.0_362-b07)
Eclipse OpenJ9 VM (build v0.36.0-release-c5da55ccc, JRE 1.8.0 AIX ppc64-64-Bit Compressed References 20230113_555 (JIT enabled, AOT enabled)
OpenJ9   - c5da55ccc
OMR      - 2bb04132e
JCL      - 1a94e3037e based on jdk8u362-b07)

Rerun in Grinder - Change TARGET to run only the failed test targets.

Optional info

Failure output (captured from console output)

[2023-01-13T21:24:13.396Z] variation: NoOptions
[2023-01-13T21:24:13.396Z] JVM_OPTIONS:  

[2023-01-13T21:24:20.457Z] Exception in thread "main" java.lang.IllegalStateException: @Contended does not seem to work properly
[2023-01-13T21:24:20.457Z]  at org.openjdk.jcstress.vm.ContendedTestMain.main(ContendedTestMain.java:80)

[2023-01-13T21:26:27.585Z] jcstress_FinalWrapper_0_FAILED

50x internal grinder

Also seen on jcstress_VolatileDoubleAtomicityTest_0_FAILED jcstress_DoubleAtomicityTest_0_FAILED

pshipton commented 1 year ago

Grinder failed 19 / 50. 1/10 paix818 1/10 paix826 5/10 paix827 5/10 paix910 7/10 paix909

pshipton commented 1 year ago

@JasonFengJ9 Does it also fail on the previous release?

JasonFengJ9 commented 1 year ago

This is a new test, only 7 runs in the test history.

50x w/ 0.35 grinder

JasonFengJ9 commented 1 year ago

21/50 failed for 0.35, so this is not a regression.

Not able to run against JDK19 AIX temurin build

pshipton commented 1 year ago

Setting to vm for initial investigation. @tajila

JasonFengJ9 commented 1 year ago

50x grinder w/ JDK19 AIX Temurin build - passed

20:52:08  openjdk version "1.8.0_352"
20:52:08  OpenJDK Runtime Environment (Temurin)(build 1.8.0_352-b08)
20:52:08  OpenJDK 64-Bit Server VM (Temurin)(build 25.352-b08, mixed mode)
tajila commented 1 year ago

@dnakamura Please take a look

JasonFengJ9 commented 1 year ago

JDK11 0.36 build(macaarch64rt5)

java version "11.0.18" 2023-01-17
IBM Semeru Runtime Certified Edition 11.0.18.0-rc1 (build 11.0.18+10)
Eclipse OpenJ9 VM 11.0.18.0-rc1 (build v0.36.0-release-e68fb241f, JRE 11 Mac OS X aarch64-64-Bit 20230119_196 (JIT enabled, AOT enabled)
OpenJ9   - e68fb241f
OMR      - f491bbf6f
JCL      - d19b1e858d based on jdk-11.0.18+10)

[2023-01-21T12:30:04.831Z] Exception in thread "main" java.lang.IllegalStateException: @Contended does not seem to work properly
[2023-01-21T12:30:04.831Z]  at org.openjdk.jcstress.vm.ContendedTestMain.main(ContendedTestMain.java:80)

[2023-01-21T12:35:54.448Z] jcstress_BoundedSingleTest_0_FAILED

Also seen at jcstress_UnboundedSingleTest_0_FAILED and jcstress_FinalWrapper_0_FAILED.

JasonFengJ9 commented 1 year ago

JDK19 aarch64_mac(macaarch64rt5)

openjdk version "19.0.2" 2023-01-17
IBM Semeru Runtime Open Edition 19.0.2.0-m1 (build 19.0.2+7)
Eclipse OpenJ9 VM 19.0.2.0-m1 (build v0.37.0-release-042864b42, JRE 19 Mac OS X aarch64-64-Bit 20230117_56 (JIT enabled, AOT enabled)
OpenJ9   - 042864b42
OMR      - 79f110f00
JCL      - be7d0c27852 based on jdk-19.0.2+7)

[2023-03-03T20:48:24.147Z] Exception in thread "main" java.lang.IllegalStateException: @Contended does not seem to work properly
[2023-03-03T20:48:24.147Z]  at org.openjdk.jcstress.vm.ContendedTestMain.main(ContendedTestMain.java:80)

[2023-03-03T20:53:53.632Z]  at org.openjdk.jcstress.infra.grading.ExceptionReportPrinter.work(ExceptionReportPrinter.java:63)
[2023-03-03T20:53:53.632Z]  at org.openjdk.jcstress.JCStress.parseResults(JCStress.java:140)
[2023-03-03T20:53:53.632Z]  at org.openjdk.jcstress.JCStress.run(JCStress.java:107)
[2023-03-03T20:53:53.632Z]  at org.openjdk.jcstress.Main.main(Main.java:60)
[2023-03-03T20:53:53.632Z] -----------------------------------
[2023-03-03T20:53:53.632Z] jcstress_BoundedSingleTest_0_FAILED

3x grinder - 1/3 failed

dnakamura commented 1 year ago

I am able to reproduce reliably. It appears the vm completely ignores the @Contended annotation. Simplified test case

public class Test {
    public static class Layout1 {
        @sun.misc.Contended
        public int I;
        @sun.misc.Contended
        public int I2;
    }

    public static void main(String[] args){
        Layout1 l1 = new Layout1();
        l1.I  = 0x01234567;
        l1.I2 = 0x89ABCDEF;
        com.ibm.jvm.Dump.SystemDump();
    }
}

Running the test with -XX:-RestrictContended and looking at the dump shows that Layout1 appears to be laid out without any padding.

 > !j9classshape 0x0000000000193F00
Instance fields in Test$Layout1:

offset     name signature       (declaring class)
0       lockword        I       (java/lang/Object) <hidden>
4       I       I       (Test$Layout1)
8       I2      I       (Test$Layout1)

Total instance size: 12

Dumping the rom class show that the fields do appear to be marked as contended

> !dumpromclass name:Test$Layout1
ROMClass 0x000001E8BB3502D0 named Test$Layout1

ROM Size: 0x148 (328)
Class Name: Test$Layout1
Superclass Name: java/lang/Object
Source File Name: Test.java
Simple Name: Layout1
Basic Access Flags (0x21): public super
J9 Access Flags (0x8804000): (preverified)
Class file version: 52.0
Instance Shape: 0xe
Intermediate Class Data (328 bytes): 1e8bb3502d0
Maximum Branch Count: 1
Interfaces (0):
Declaring Class: Test
Member Access Flags (0x9): public
Fields (2):
  Name: I
  Signature: I
  Access Flags (30300001): public

  Name: I2
  Signature: I
  Access Flags (30300001): public

CP Shape Description:
  . v C A
 ...

note: #define J9FieldFlagIsContended 0x10000000

dnakamura commented 1 year ago

With some more digging it appears that we never actually added support for the Contended annotation on individual fields due to the complexity and the fact that we never actually saw anyone using the functionality.

Of note this is actually a non-fatal test

Initializing and probing the target VM: (all failures are non-fatal, but may affect testing accuracy) ... ----- [N/A] Testing @Contended works on all results and infra objects Class class org.openjdk.jcstress.infra.results.BBBBBBBB_Result: field r1 is not padded Class class org.openjdk.jcstress.infra.results.BBBBBBBB_Result: field r2 is not padded ...

Given that we don't support @Contended on individual fields, we always fail this test, however the output is usually hidden.

pshipton commented 1 year ago

@llxia can we update the jtcstress test to reflect the contended tests can't work on OpenJ9?

llxia commented 1 year ago

@jabrena do you happen to know if there is a quick way we can do this? Is it sufficient just exclude https://github.com/openjdk/jcstress/blob/master/jcstress-core/src/main/java/org/openjdk/jcstress/vm/ContendedTestMain.java?

jabrena commented 1 year ago

Hi @llxia,

I will review it

jabrena commented 1 year ago

Hi @llxia I will reach today

pshipton commented 1 year ago

@llxia @jabrena was there any progress on this?

jabrena commented 1 year ago

No progress, let’s talk with @llxia tomorrrow

jabrena commented 1 year ago

Good evening @pshipton,

We scheduled some actions for next week.

Juan Antonio

jabrena commented 1 year ago

Hi @pshipton,

today @llxia & me had a call to to review the progress and before applying any change in the tests, we would like to know why OpenJ9 doesn’t have “contended” support.

can you clarify it?

many thanks in advance.

Juan Antonio

pshipton commented 1 year ago

Basically just a lack of resource to implement it. There is some contended support for entire classes, but not for individual fields. At the time it was implemented, there was no usage of contended on an individual field.

jabrena commented 1 year ago

We reviewed all alternatives and maybe the best approach is to send a PR to OpenJDK to skip that test for OpenJ9.

Alternatives analyzed between @llxia & me:

If everyone is happy, I will send the PR to OpenJDK this week.

Idea:

package org.openjdk.jcstress.vm;

public class ContendedTestMain {

    private static boolean isRunningOnOpenJ9() {
        String impl = System.getProperty("java.vm.name");
        System.out.println("System.getProperty('java.vm.name')=" + impl + "\n");
        impl = impl.toLowerCase();
        if (impl.contains("ibm")) {
            return true;
        } else if (impl.contains("openj9")) {
            return true;
        }
        return false;
    }

   public static void main(String... args) throws IOException {
       if(!isRunningOnOpenJ9()) {
           //OpenJDK test
           ...
           ... 
       }
   }

}

Juan Antonio

llxia commented 1 year ago

For checking vm.name, similar logic can be found at https://github.com/adoptium/TKG/blob/master/src/org/openj9/envInfo/JavaInfo.java#L152-L158

jabrena commented 1 year ago

Updated the test with the logic provided:

jabrena commented 1 year ago

Hi @pshipton,

we were doing few tests with @llxia : https://github.com/jabrena/jcstress/tree/feature/openj9_16569

sdk use java 20.0.1-sem  
java -jar tests-custom/target/jcstress.jar -t FinalWrapper
sdk use java 20.0.1-tem
java -jar tests-custom/target/jcstress.jar -t FinalWrapper

And this is the results:

results-semeru.zip results-temurin.zip

llxia commented 1 year ago

just for the record, re https://github.com/eclipse-openj9/openj9/issues/16569#issuecomment-1624081169, we tried to rebuild jcstress with the change in https://github.com/eclipse-openj9/openj9/issues/16569#issuecomment-1623981712 to exclude ContendedTestMain. However, we got another error when running FinalWrapper. The same test works fine in Temerin.

Check test failed
java.lang.IllegalStateException: java.lang.reflect.InvocationTargetException
    at org.openjdk.jcstress.vm.AllocProfileSupport.getAllocatedBytes(AllocProfileSupport.java:94)
    at org.openjdk.jcstress.tests.singletons.FinalWrapper_Safe_jcstress$TestResourceEstimator.runWith(FinalWrapper_Safe_jcstress.java:174)
    at org.openjdk.jcstress.infra.runners.ForkedTestConfig.tryWith(ForkedTestConfig.java:122)
    at org.openjdk.jcstress.infra.runners.ForkedTestConfig.adjustStrideCount(ForkedTestConfig.java:93)
    at org.openjdk.jcstress.tests.singletons.FinalWrapper_Safe_jcstress.jcstress_sanityCheck_Resource(FinalWrapper_Safe_jcstress.java:211)
    at org.openjdk.jcstress.tests.singletons.FinalWrapper_Safe_jcstress.sanityCheck(FinalWrapper_Safe_jcstress.java:31)
    at org.openjdk.jcstress.infra.runners.Runner.run(Runner.java:64)
    at org.openjdk.jcstress.ForkedMain.main(ForkedMain.java:79)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
    at java.base/java.lang.reflect.Method.invoke(Method.java:578)
    at org.openjdk.jcstress.vm.AllocProfileSupport.getAllocatedBytes(AllocProfileSupport.java:92)
    ... 7 more
Caused by: java.lang.UnsupportedOperationException
    at jdk.management/com.ibm.lang.management.internal.ExtendedThreadMXBeanImpl.getThreadAllocatedBytes(ExtendedThreadMXBeanImpl.java:74)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    ... 9 more
llxia commented 1 year ago

@jabrena could we exclude the affected tests in playlist for now? Example for test exclude: https://github.com/adoptium/aqa-tests/blob/master/system/jcstress/playlist.xml#L218C1-L224C14

jabrena commented 1 year ago

Aye sir

jabrena commented 1 year ago

Pending Review @llxia

pshipton commented 6 months ago

Support for getThreadAllocatedBytes() was added in the 0.41 release. @llxia can we try the test again to see what the next problem is?

llxia commented 6 months ago

xlinux: https://openj9-jenkins.osuosl.org/view/Test/job/Grinder/3367/ ==> passed aix: https://openj9-jenkins.osuosl.org/view/Test/job/Grinder/3360/

2024-03-06T14:44:48.318Z] RUN RESULTS:
[2024-03-06T14:44:48.318Z]   Interesting tests: No matches.
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z]   Failed tests: 1 matching test results.
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z] ...... [FAILED] o.o.j.t.singletons.FinalWrapper.Safe
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z]   Results across all configurations:
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z]   RESULT      SAMPLES     FREQ      EXPECT  DESCRIPTION
[2024-03-06T14:44:48.318Z]        0          668   <0.01%   Forbidden  Factory returned null singleton.
[2024-03-06T14:44:48.318Z]        1            0    0.00%   Forbidden  The singleton data is null.
[2024-03-06T14:44:48.318Z]       42  383,669,604  100.00%  Acceptable  The singleton is observed in full.
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z]   Error tests: No matches.
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z]   All remaining tests: 1 matching test results. Use -v to print them.
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.574Z]   HTML report generated at /home/jenkins/workspace/Grinder/aqa-tests/TKG/output_17097355042741/jcstress_FinalWrapper_0/results/index.html
[2024-03-06T14:44:48.574Z] Exception in thread "main" java.lang.AssertionError: TEST FAILURES: 
[2024-03-06T14:44:48.574Z] org.openjdk.jcstress.tests.singletons.FinalWrapper.Safe [-Xoptionsfile=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/options.default, -Xlockword:mode=default,noLockword=java/lang/String,noLockword=java/util/MapEntry,noLockword=java/util/HashMap$Entry,noLockword=org/apache/harmony/luni/util/ModifiedMap$Entry,noLockword=java/util/Hashtable$Entry,noLockword=java/lang/invoke/MethodType,noLockword=java/lang/invoke/MethodHandle,noLockword=java/lang/invoke/CollectHandle,noLockword=java/lang/invoke/ConstructorHandle,noLockword=java/lang/invoke/ConvertHandle,noLockword=java/lang/invoke/ArgumentConversionHandle,noLockword=java/lang/invoke/AsTypeHandle,noLockword=java/lang/invoke/ExplicitCastHandle,noLockword=java/lang/invoke/FilterReturnHandle,noLockword=java/lang/invoke/DirectHandle,noLockword=java/lang/invoke/ReceiverBoundHandle,noLockword=java/lang/invoke/DynamicInvokerHandle,noLockword=java/lang/invoke/FieldHandle,noLockword=java/lang/invoke/FieldGetterHandle,noLockword=java/lang/invoke/FieldSetterHandle,noLockword=java/lang/invoke/StaticFieldGetterHandle,noLockword=java/lang/invoke/StaticFieldSetterHandle,noLockword=java/lang/invoke/IndirectHandle,noLockword=java/lang/invoke/InterfaceHandle,noLockword=java/lang/invoke/VirtualHandle,noLockword=java/lang/invoke/PrimitiveHandle,noLockword=java/lang/invoke/InvokeExactHandle,noLockword=java/lang/invoke/InvokeGenericHandle,noLockword=java/lang/invoke/VarargsCollectorHandle,noLockword=java/lang/invoke/ThunkTuple, -XX:+EnsureHashed:java/lang/Class,java/lang/Thread, -Xjcl:jclse29, -Dcom.ibm.oti.vm.bootstrap.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib, -Dsun.boot.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib, -Djava.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/server:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/jli:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/../lib:/opt/ibm-semeru-open-11-jdk/lib/server:/opt/ibm-semeru-open-11-jdk/lib:/opt/ibm-semeru-open-11-jdk/lib/jli:/opt/ibm-semeru-open-11-jdk/../lib:/usr/lib:/usr/lib64:/usr/lib, -Djava.home=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image, -Duser.dir=/home/jenkins/workspace/Grinder/aqa-tests/TKG/output_17097355042741/jcstress_FinalWrapper_0, -Djava.class.path=/home/jenkins/workspace/Grinder/../../testDependency/lib/jcstress-tests-all-20220908.jar, -Dsun.java.command=/home/jenkins/workspace/Grinder/../../testDependency/lib/jcstress-tests-all-20220908.jar -t FinalWrapper, -Dsun.java.launcher=SUN_STANDARD]: Observed forbidden state: 0 (Factory returned null singleton.)
[2024-03-06T14:44:48.575Z] org.openjdk.jcstress.tests.singletons.FinalWrapper.Safe [-Xoptionsfile=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/options.default, -Xlockword:mode=default,noLockword=java/lang/String,noLockword=java/util/MapEntry,noLockword=java/util/HashMap$Entry,noLockword=org/apache/harmony/luni/util/ModifiedMap$Entry,noLockword=java/util/Hashtable$Entry,noLockword=java/lang/invoke/MethodType,noLockword=java/lang/invoke/MethodHandle,noLockword=java/lang/invoke/CollectHandle,noLockword=java/lang/invoke/ConstructorHandle,noLockword=java/lang/invoke/ConvertHandle,noLockword=java/lang/invoke/ArgumentConversionHandle,noLockword=java/lang/invoke/AsTypeHandle,noLockword=java/lang/invoke/ExplicitCastHandle,noLockword=java/lang/invoke/FilterReturnHandle,noLockword=java/lang/invoke/DirectHandle,noLockword=java/lang/invoke/ReceiverBoundHandle,noLockword=java/lang/invoke/DynamicInvokerHandle,noLockword=java/lang/invoke/FieldHandle,noLockword=java/lang/invoke/FieldGetterHandle,noLockword=java/lang/invoke/FieldSetterHandle,noLockword=java/lang/invoke/StaticFieldGetterHandle,noLockword=java/lang/invoke/StaticFieldSetterHandle,noLockword=java/lang/invoke/IndirectHandle,noLockword=java/lang/invoke/InterfaceHandle,noLockword=java/lang/invoke/VirtualHandle,noLockword=java/lang/invoke/PrimitiveHandle,noLockword=java/lang/invoke/InvokeExactHandle,noLockword=java/lang/invoke/InvokeGenericHandle,noLockword=java/lang/invoke/VarargsCollectorHandle,noLockword=java/lang/invoke/ThunkTuple, -XX:+EnsureHashed:java/lang/Class,java/lang/Thread, -Xjcl:jclse29, -Dcom.ibm.oti.vm.bootstrap.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib, -Dsun.boot.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib, -Djava.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/server:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/jli:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/../lib:/opt/ibm-semeru-open-11-jdk/lib/server:/opt/ibm-semeru-open-11-jdk/lib:/opt/ibm-semeru-open-11-jdk/lib/jli:/opt/ibm-semeru-open-11-jdk/../lib:/usr/lib:/usr/lib64:/usr/lib, -Djava.home=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image, -Duser.dir=/home/jenkins/workspace/Grinder/aqa-tests/TKG/output_17097355042741/jcstress_FinalWrapper_0, -Djava.class.path=/home/jenkins/workspace/Grinder/../../testDependency/lib/jcstress-tests-all-20220908.jar, -Dsun.java.command=/home/jenkins/workspace/Grinder/../../testDependency/lib/jcstress-tests-all-20220908.jar -t FinalWrapper, -Dsun.java.launcher=SUN_STANDARD, -XX:+StressLCM, -XX:+StressGCM, -XX:+StressIGVN, -XX:+StressCCP, -XX:StressSeed=69202074]: Observed forbidden state: 0 (Factory returned null singleton.)
[2024-03-06T14:44:48.575Z] org.openjdk.jcstress.tests.singletons.FinalWrapper.Safe [-Xoptionsfile=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/options.default, -Xlockword:mode=default,noLockword=java/lang/String,noLockword=java/util/MapEntry,noLockword=java/util/HashMap$Entry,noLockword=org/apache/harmony/luni/util/ModifiedMap$Entry,noLockword=java/util/Hashtable$Entry,noLockword=java/lang/invoke/MethodType,noLockword=java/lang/invoke/MethodHandle,noLockword=java/lang/invoke/CollectHandle,noLockword=java/lang/invoke/ConstructorHandle,noLockword=java/lang/invoke/ConvertHandle,noLockword=java/lang/invoke/ArgumentConversionHandle,noLockword=java/lang/invoke/AsTypeHandle,noLockword=java/lang/invoke/ExplicitCastHandle,noLockword=java/lang/invoke/FilterReturnHandle,noLockword=java/lang/invoke/DirectHandle,noLockword=java/lang/invoke/ReceiverBoundHandle,noLockword=java/lang/invoke/DynamicInvokerHandle,noLockword=java/lang/invoke/FieldHandle,noLockword=java/lang/invoke/FieldGetterHandle,noLockword=java/lang/invoke/FieldSetterHandle,noLockword=java/lang/invoke/StaticFieldGetterHandle,noLockword=java/lang/invoke/StaticFieldSetterHandle,noLockword=java/lang/invoke/IndirectHandle,noLockword=java/lang/invoke/InterfaceHandle,noLockword=java/lang/invoke/VirtualHandle,noLockword=java/lang/invoke/PrimitiveHandle,noLockword=java/lang/invoke/InvokeExactHandle,noLockword=java/lang/invoke/InvokeGenericHandle,noLockword=java/lang/invoke/VarargsCollectorHandle,noLockword=java/lang/invoke/ThunkTuple, -XX:+EnsureHashed:java/lang/Class,java/lang/Thread, -Xjcl:jclse29, -Dcom.ibm.oti.vm.bootstrap.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib, -Dsun.boot.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib, -Djava.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/server:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/jli:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/../lib:/opt/ibm-semeru-open-11-jdk/lib/server:/opt/ibm-semeru-open-11-jdk/lib:/opt/ibm-semeru-open-11-jdk/lib/jli:/opt/ibm-semeru-open-11-jdk/../lib:/usr/lib:/usr/lib64:/usr/lib, -Djava.home=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image, -Duser.dir=/home/jenkins/workspace/Grinder/aqa-tests/TKG/output_17097355042741/jcstress_FinalWrapper_0, -Djava.class.path=/home/jenkins/workspace/Grinder/../../testDependency/lib/jcstress-tests-all-20220908.jar, -Dsun.java.command=/home/jenkins/workspace/Grinder/../../testDependency/lib/jcstress-tests-all-20220908.jar -t FinalWrapper, -Dsun.java.launcher=SUN_STANDARD, -XX:+StressLCM, -XX:+StressGCM, -XX:+StressIGVN, -XX:+StressCCP, -XX:StressSeed=2047192922]: Observed forbidden state: 0 (Factory returned null singleton.)
[2024-03-06T14:44:48.575Z] 
[2024-03-06T14:44:48.575Z]  at org.openjdk.jcstress.infra.grading.ExceptionReportPrinter.work(ExceptionReportPrinter.java:63)
[2024-03-06T14:44:48.575Z]  at org.openjdk.jcstress.JCStress.parseResults(JCStress.java:140)
[2024-03-06T14:44:48.575Z]  at org.openjdk.jcstress.JCStress.run(JCStress.java:107)
[2024-03-06T14:44:48.575Z]  at org.openjdk.jcstress.Main.main(Main.java:60)
[2024-03-06T14:44:48.575Z] -----------------------------------
[2024-03-06T14:44:48.575Z] jcstress_FinalWrapper_0_FAILED
[2024-03-06T14:44:48.575Z] -----------------------------------
[2024-03-06T14:44:48.575Z] 

results.zip

llxia commented 6 months ago

@annaibm could you test the rest platforms and re-include only the platforms that work? Please see https://github.com/eclipse-openj9/openj9/issues/16569#issuecomment-1980929391 for example runs. Thanks

annaibm commented 6 months ago

ppc64_aix https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/38456 --> not passed

arch64_mac https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/38488 --> not passed


[2024-03-06T14:44:48.318Z]   Interesting tests: No matches.
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z]   Failed tests: 1 matching test results.
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z] ...... [FAILED] o.o.j.t.singletons.FinalWrapper.Safe
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z]   Results across all configurations:
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z]   RESULT      SAMPLES     FREQ      EXPECT  DESCRIPTION
[2024-03-06T14:44:48.318Z]        0          668   <0.01%   Forbidden  Factory returned null singleton.
[2024-03-06T14:44:48.318Z]        1            0    0.00%   Forbidden  The singleton data is null.
[2024-03-06T14:44:48.318Z]       42  383,669,604  100.00%  Acceptable  The singleton is observed in full.
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z]   Error tests: No matches.
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.318Z]   All remaining tests: 1 matching test results. Use -v to print them.
[2024-03-06T14:44:48.318Z] 
[2024-03-06T14:44:48.574Z]   HTML report generated at /home/jenkins/workspace/Grinder/aqa-tests/TKG/output_17097355042741/jcstress_FinalWrapper_0/results/index.html
[2024-03-06T14:44:48.574Z] Exception in thread "main" java.lang.AssertionError: TEST FAILURES: 
[2024-03-06T14:44:48.574Z] org.openjdk.jcstress.tests.singletons.FinalWrapper.Safe [-Xoptionsfile=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/options.default, -Xlockword:mode=default,noLockword=java/lang/String,noLockword=java/util/MapEntry,noLockword=java/util/HashMap$Entry,noLockword=org/apache/harmony/luni/util/ModifiedMap$Entry,noLockword=java/util/Hashtable$Entry,noLockword=java/lang/invoke/MethodType,noLockword=java/lang/invoke/MethodHandle,noLockword=java/lang/invoke/CollectHandle,noLockword=java/lang/invoke/ConstructorHandle,noLockword=java/lang/invoke/ConvertHandle,noLockword=java/lang/invoke/ArgumentConversionHandle,noLockword=java/lang/invoke/AsTypeHandle,noLockword=java/lang/invoke/ExplicitCastHandle,noLockword=java/lang/invoke/FilterReturnHandle,noLockword=java/lang/invoke/DirectHandle,noLockword=java/lang/invoke/ReceiverBoundHandle,noLockword=java/lang/invoke/DynamicInvokerHandle,noLockword=java/lang/invoke/FieldHandle,noLockword=java/lang/invoke/FieldGetterHandle,noLockword=java/lang/invoke/FieldSetterHandle,noLockword=java/lang/invoke/StaticFieldGetterHandle,noLockword=java/lang/invoke/StaticFieldSetterHandle,noLockword=java/lang/invoke/IndirectHandle,noLockword=java/lang/invoke/InterfaceHandle,noLockword=java/lang/invoke/VirtualHandle,noLockword=java/lang/invoke/PrimitiveHandle,noLockword=java/lang/invoke/InvokeExactHandle,noLockword=java/lang/invoke/InvokeGenericHandle,noLockword=java/lang/invoke/VarargsCollectorHandle,noLockword=java/lang/invoke/ThunkTuple, -XX:+EnsureHashed:java/lang/Class,java/lang/Thread, -Xjcl:jclse29, -Dcom.ibm.oti.vm.bootstrap.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib, -Dsun.boot.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib, -Djava.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/server:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/jli:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/../lib:/opt/ibm-semeru-open-11-jdk/lib/server:/opt/ibm-semeru-open-11-jdk/lib:/opt/ibm-semeru-open-11-jdk/lib/jli:/opt/ibm-semeru-open-11-jdk/../lib:/usr/lib:/usr/lib64:/usr/lib, -Djava.home=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image, -Duser.dir=/home/jenkins/workspace/Grinder/aqa-tests/TKG/output_17097355042741/jcstress_FinalWrapper_0, -Djava.class.path=/home/jenkins/workspace/Grinder/../../testDependency/lib/jcstress-tests-all-20220908.jar, -Dsun.java.command=/home/jenkins/workspace/Grinder/../../testDependency/lib/jcstress-tests-all-20220908.jar -t FinalWrapper, -Dsun.java.launcher=SUN_STANDARD]: Observed forbidden state: 0 (Factory returned null singleton.)
[2024-03-06T14:44:48.575Z] org.openjdk.jcstress.tests.singletons.FinalWrapper.Safe [-Xoptionsfile=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/options.default, -Xlockword:mode=default,noLockword=java/lang/String,noLockword=java/util/MapEntry,noLockword=java/util/HashMap$Entry,noLockword=org/apache/harmony/luni/util/ModifiedMap$Entry,noLockword=java/util/Hashtable$Entry,noLockword=java/lang/invoke/MethodType,noLockword=java/lang/invoke/MethodHandle,noLockword=java/lang/invoke/CollectHandle,noLockword=java/lang/invoke/ConstructorHandle,noLockword=java/lang/invoke/ConvertHandle,noLockword=java/lang/invoke/ArgumentConversionHandle,noLockword=java/lang/invoke/AsTypeHandle,noLockword=java/lang/invoke/ExplicitCastHandle,noLockword=java/lang/invoke/FilterReturnHandle,noLockword=java/lang/invoke/DirectHandle,noLockword=java/lang/invoke/ReceiverBoundHandle,noLockword=java/lang/invoke/DynamicInvokerHandle,noLockword=java/lang/invoke/FieldHandle,noLockword=java/lang/invoke/FieldGetterHandle,noLockword=java/lang/invoke/FieldSetterHandle,noLockword=java/lang/invoke/StaticFieldGetterHandle,noLockword=java/lang/invoke/StaticFieldSetterHandle,noLockword=java/lang/invoke/IndirectHandle,noLockword=java/lang/invoke/InterfaceHandle,noLockword=java/lang/invoke/VirtualHandle,noLockword=java/lang/invoke/PrimitiveHandle,noLockword=java/lang/invoke/InvokeExactHandle,noLockword=java/lang/invoke/InvokeGenericHandle,noLockword=java/lang/invoke/VarargsCollectorHandle,noLockword=java/lang/invoke/ThunkTuple, -XX:+EnsureHashed:java/lang/Class,java/lang/Thread, -Xjcl:jclse29, -Dcom.ibm.oti.vm.bootstrap.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib, -Dsun.boot.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib, -Djava.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/server:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/jli:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/../lib:/opt/ibm-semeru-open-11-jdk/lib/server:/opt/ibm-semeru-open-11-jdk/lib:/opt/ibm-semeru-open-11-jdk/lib/jli:/opt/ibm-semeru-open-11-jdk/../lib:/usr/lib:/usr/lib64:/usr/lib, -Djava.home=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image, -Duser.dir=/home/jenkins/workspace/Grinder/aqa-tests/TKG/output_17097355042741/jcstress_FinalWrapper_0, -Djava.class.path=/home/jenkins/workspace/Grinder/../../testDependency/lib/jcstress-tests-all-20220908.jar, -Dsun.java.command=/home/jenkins/workspace/Grinder/../../testDependency/lib/jcstress-tests-all-20220908.jar -t FinalWrapper, -Dsun.java.launcher=SUN_STANDARD, -XX:+StressLCM, -XX:+StressGCM, -XX:+StressIGVN, -XX:+StressCCP, -XX:StressSeed=69202074]: Observed forbidden state: 0 (Factory returned null singleton.)
[2024-03-06T14:44:48.575Z] org.openjdk.jcstress.tests.singletons.FinalWrapper.Safe [-Xoptionsfile=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/options.default, -Xlockword:mode=default,noLockword=java/lang/String,noLockword=java/util/MapEntry,noLockword=java/util/HashMap$Entry,noLockword=org/apache/harmony/luni/util/ModifiedMap$Entry,noLockword=java/util/Hashtable$Entry,noLockword=java/lang/invoke/MethodType,noLockword=java/lang/invoke/MethodHandle,noLockword=java/lang/invoke/CollectHandle,noLockword=java/lang/invoke/ConstructorHandle,noLockword=java/lang/invoke/ConvertHandle,noLockword=java/lang/invoke/ArgumentConversionHandle,noLockword=java/lang/invoke/AsTypeHandle,noLockword=java/lang/invoke/ExplicitCastHandle,noLockword=java/lang/invoke/FilterReturnHandle,noLockword=java/lang/invoke/DirectHandle,noLockword=java/lang/invoke/ReceiverBoundHandle,noLockword=java/lang/invoke/DynamicInvokerHandle,noLockword=java/lang/invoke/FieldHandle,noLockword=java/lang/invoke/FieldGetterHandle,noLockword=java/lang/invoke/FieldSetterHandle,noLockword=java/lang/invoke/StaticFieldGetterHandle,noLockword=java/lang/invoke/StaticFieldSetterHandle,noLockword=java/lang/invoke/IndirectHandle,noLockword=java/lang/invoke/InterfaceHandle,noLockword=java/lang/invoke/VirtualHandle,noLockword=java/lang/invoke/PrimitiveHandle,noLockword=java/lang/invoke/InvokeExactHandle,noLockword=java/lang/invoke/InvokeGenericHandle,noLockword=java/lang/invoke/VarargsCollectorHandle,noLockword=java/lang/invoke/ThunkTuple, -XX:+EnsureHashed:java/lang/Class,java/lang/Thread, -Xjcl:jclse29, -Dcom.ibm.oti.vm.bootstrap.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib, -Dsun.boot.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib, -Djava.library.path=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/default:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/server:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/lib/jli:/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/../lib:/opt/ibm-semeru-open-11-jdk/lib/server:/opt/ibm-semeru-open-11-jdk/lib:/opt/ibm-semeru-open-11-jdk/lib/jli:/opt/ibm-semeru-open-11-jdk/../lib:/usr/lib:/usr/lib64:/usr/lib, -Djava.home=/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image, -Duser.dir=/home/jenkins/workspace/Grinder/aqa-tests/TKG/output_17097355042741/jcstress_FinalWrapper_0, -Djava.class.path=/home/jenkins/workspace/Grinder/../../testDependency/lib/jcstress-tests-all-20220908.jar, -Dsun.java.command=/home/jenkins/workspace/Grinder/../../testDependency/lib/jcstress-tests-all-20220908.jar -t FinalWrapper, -Dsun.java.launcher=SUN_STANDARD, -XX:+StressLCM, -XX:+StressGCM, -XX:+StressIGVN, -XX:+StressCCP, -XX:StressSeed=2047192922]: Observed forbidden state: 0 (Factory returned null singleton.)
[2024-03-06T14:44:48.575Z] 
[2024-03-06T14:44:48.575Z]  at org.openjdk.jcstress.infra.grading.ExceptionReportPrinter.work(ExceptionReportPrinter.java:63)
[2024-03-06T14:44:48.575Z]  at org.openjdk.jcstress.JCStress.parseResults(JCStress.java:140)
[2024-03-06T14:44:48.575Z]  at org.openjdk.jcstress.JCStress.run(JCStress.java:107)
[2024-03-06T14:44:48.575Z]  at org.openjdk.jcstress.Main.main(Main.java:60)
[2024-03-06T14:44:48.575Z] -----------------------------------
[2024-03-06T14:44:48.575Z] jcstress_FinalWrapper_0_FAILED
[2024-03-06T14:44:48.575Z] -----------------------------------
Dsun.java.launcher=SUN_STANDARD]: Observed forbidden state: 0 (Factory returned null singleton.)
13:05:30  
13:05:30    at org.openjdk.jcstress.infra.grading.ExceptionReportPrinter.work(ExceptionReportPrinter.java:63)
13:05:30    at org.openjdk.jcstress.JCStress.parseResults(JCStress.java:140)
13:05:30    at org.openjdk.jcstress.JCStress.run(JCStress.java:107)
13:05:30    at org.openjdk.jcstress.Main.main(Main.java:60)
13:05:30  -----------------------------------
13:05:30  jcstress_FinalWrapper_0_FAILED
13:05:30  -----------------------------------
13:05:30  
13:05:30  TEST TEARDOWN: