Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up references to old opcodes #20521

Merged

Conversation

a7ehuo
Copy link
Contributor

@a7ehuo a7ehuo commented Nov 6, 2024

The old opcodes had the letter i as a prefix if the operation was indirect. Those opcodes were renamed to use the letter i as a suffix instead.

This commit cleans up the references to the old opcodes, iiload/iistore ilload/ilstore iaload/iastore ibload/ibstore, to iloadi/istorei lloadi/lstorei aloadi/astorei bloadi/bstorei in the code.

Depends on

Related: #19489

The old opcodes had the letter i as a prefix if the operation
was indirect. Those opcodes were renamed to use the letter i
as a suffix instead.

This commit cleans up the references to the old opcodes,
iiload/iistore ilload/ilstore iaload/iastore ibload/ibstore,
to iloadi/istorei lloadi/lstorei aloadi/astorei bloadi/bstorei
in the code.

Related: eclipse-openj9#19489
Signed-off-by: Annabelle Huo <[email protected]>
@a7ehuo a7ehuo added comp:jit depends:omr Pull request is dependent on a corresponding change in OMR tech debt labels Nov 6, 2024
@a7ehuo a7ehuo requested a review from hzongaro November 6, 2024 13:58
@a7ehuo
Copy link
Contributor Author

a7ehuo commented Nov 6, 2024

@hzongaro May I ask you to review this change? Thank you!

Please note that this PR depends on OMR PR eclipse-omr/omr#7529 and they should be reviewed together. And it will require coordinated merge with the OMR PR.

Copy link
Member

@hzongaro hzongaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Thanks!

@hzongaro
Copy link
Member

hzongaro commented Nov 7, 2024

Jenkins test sanity.functional,sanity.openjdk all jdk8,jdk11,jdk17,jd21

@a7ehuo
Copy link
Contributor Author

a7ehuo commented Nov 7, 2024

... all jdk8,jdk11,jdk17,jd21

jd21 -> jdk21

Meanwhile, this PR depends on eclipse-omr/omr#7529

@hzongaro
Copy link
Member

hzongaro commented Nov 7, 2024

jd21 -> jdk21
Meanwhile, this PR depends on eclipse-omr/omr#7529

Sigh! Yes and yes.

Jenkins test sanity.functional,sanity.openjdk all jdk8,jdk11,jdk17,jdk21 depends eclipse-omr/omr#7529

@hzongaro
Copy link
Member

hzongaro commented Nov 7, 2024

JDK 8 sanity.openjdk failures look like they should be fixed by pull request ibmruntimes/openj9-openjdk-jdk8#780. Rerunning those tests.

Jenkins test sanity.openjdk all jdk8 depends eclipse-omr/omr#7529

@a7ehuo
Copy link
Contributor Author

a7ehuo commented Nov 8, 2024

Here are the failed 8 tests. So far I'm not sure of (2)Test_openjdk17_j9_sanity.openjdk_s390x_linux_Personal and (3) Test_openjdk21_j9_sanity.openjdk_ppc64_aix_Personal, although I don't think this change could cause these failures.

(1) Test_openjdk11_j9_sanity.openjdk_ppc64le_linux_Personal: Known issue #17515 (comment)

12:24:18  Compiled_method=java/lang/Integer.parseInt(Ljava/lang/String;I)I
12:24:18  Target=2_90_20241107_670 (Linux 6.8.0-41-generic)
12:24:18  CPU=ppc64le (4 logical CPUs) (0x1ea0e0000 RAM)
12:24:18  ----------- Stack Backtrace -----------
12:24:18   (0x00006AA539254700 [<unknown>+0x0])
12:24:18  sidecarInvokeReflectMethodImpl+0x508 (0x00006AA57921A1F8 [libj9vm29.so+0x1a1f8])
12:24:18  sidecarInvokeReflectMethod+0x3c (0x00006AA57921B14C [libj9vm29.so+0x1b14c])
12:24:18  JVM_InvokeMethod_Impl+0xa8 (0x00006AA5785CACF8 [libjclse29.so+0x7acf8])
12:24:18  JVM_InvokeMethod+0x3c (0x00006AA579B2352C [libjvm.so+0x2352c])
12:24:18  JVM_InvokeMethod+0x30 (0x00006AA579E967C0 [libjvm.so+0x67c0])
12:24:18  Java_jdk_internal_reflect_NativeMethodAccessorImpl_invoke0+0x24 (0x00006AA532EFC944 [libjava.so+0xc944])
12:24:18   (0x00006AA539018C2C [<unknown>+0x0])
12:24:18  runJavaThread+0x240 (0x00006AA579216850 [libj9vm29.so+0x16850])
12:24:18  javaProtectedThreadProc+0x148 (0x00006AA5792B0438 [libj9vm29.so+0xb0438])
12:24:18  omrsig_protect+0x3e4 (0x00006AA579539CD4 [libj9prt29.so+0x39cd4])
12:24:18  javaThreadProc+0x60 (0x00006AA5792ABAA0 [libj9vm29.so+0xabaa0])
12:24:18  thread_wrapper+0x190 (0x00006AA5794CCBC0 [libj9thr29.so+0xcbc0])
12:24:18   (0x00006AA579CB2A5C [libc.so.6+0xb2a5c])
12:24:18  ---------------------------------------
...

12:34:13  -----------------------------------
12:34:13  jdk_lang_j9_0_FAILED
12:34:13  -----------------------------------

(2) Test_openjdk17_j9_sanity.openjdk_s390x_linux_Personal: Not sure at the moment

13:33:13  STDERR:
13:33:13  java.lang.ClassCastException: java.lang.invoke.MemberName incompatible with java.lang.invoke.VarHandle$AccessDescriptor
13:33:13  	at java.base/java.util.concurrent.ConcurrentLinkedDeque.unlink(ConcurrentLinkedDeque.java:482)
...
13:33:13  java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()" because "<local10>" is null
13:33:13  	at ConcurrentQueueLoops.oneRun(ConcurrentQueueLoops.java:180)
...
13:42:08  -----------------------------------
13:42:08  jdk_util_1_FAILED
13:42:08  -----------------------------------

(3) Test_openjdk21_j9_sanity.openjdk_ppc64_aix_Personal: Not sure at the moment

2024-11-07T20:34:26.982Z]         -classpath /home/jenkins/workspace/Test_openjdk21_j9_sanity.openjdk_ppc64_aix_Personal_testList_2/aqa-tests/openjdk/openjdk-jdk/test/jdk/javax/crypto/Cipher:/home/jenkins/workspace/Test_openjdk21_j9_sanity.openjdk_ppc64_aix_Personal_testList_2/aqa-tests/TKG/output_17310081399820/jdk_security2_1/work/classes/javax/crypto/Cipher/TestGetInstance.d /home/jenkins/workspace/Test_openjdk21_j9_sanity.openjdk_ppc64_aix_Personal_testList_2/aqa-tests/openjdk/openjdk-jdk/test/jdk/javax/crypto/Cipher/TestGetInstance.java
[2024-11-07T20:34:26.982Z] java.net.SocketTimeoutException: Read timed out
[2024-11-07T20:34:26.982Z] 	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:278)
[2024-11-07T20:34:26.982Z] 	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:304)
[2024-11-07T20:34:26.982Z] 	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:346)
[2024-11-07T20:34:26.982Z] 	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:796)
[2024-11-07T20:34:26.982Z] 	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:1099)
[2024-11-07T20:34:26.982Z] 	at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:291)
[2024-11-07T20:34:26.982Z] 	at java.base/java.io.BufferedInputStream.implRead(BufferedInputStream.java:325)
[2024-11-07T20:34:26.982Z] 	at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:312)
[2024-11-07T20:34:26.982Z] 	at java.base/java.io.FilterInputStream.read(FilterInputStream.java:71)
[2024-11-07T20:34:26.982Z] 	at com.sun.javatest.regtest.agent.AgentServer.run(AgentServer.java:236)
[2024-11-07T20:34:26.982Z] 	at com.sun.javatest.regtest.agent.AgentServer.main(AgentServer.java:71)
[2024-11-07T20:34:26.982Z] 
[2024-11-07T20:34:26.982Z] TEST RESULT: Error. Agent communication error: java.io.EOFException; check console log for any additional details
[2024-11-07T20:34:26.982Z] --------------------------------------------------
[2024-11-07T20:38:07.170Z] Test results: passed: 239; error: 2
[2024-11-07T20:38:46.122Z] Report written to /home/jenkins/workspace/Test_openjdk21_j9_sanity.openjdk_ppc64_aix_Personal_testList_2/aqa-tests/TKG/output_17310081399820/jdk_security2_1/report/html/report.html
[2024-11-07T20:38:46.123Z] Results written to /home/jenkins/workspace/Test_openjdk21_j9_sanity.openjdk_ppc64_aix_Personal_testList_2/aqa-tests/TKG/output_17310081399820/jdk_security2_1/work
[2024-11-07T20:38:46.123Z] Error: Some tests failed or other problems occurred.
[2024-11-07T20:38:46.123Z] -----------------------------------
[2024-11-07T20:38:46.123Z] jdk_security2_1_FAILED
[2024-11-07T20:38:46.123Z] -----------------------------------

(4) Test_openjdk21_j9_sanity.openjdk_x86-64_mac_Personal: Known issue #19249 (comment)

13:57:49  *** Invalid JIT return address 000000007A63C8A5 in 0000700005DF9A88
13:57:49  
13:57:49  18:55:53.692 0x7fb9f9170100    j9vm.249    *   ** ASSERTION FAILED ** at /Users/jenkins/workspace/Build_JDK21_x86-64_mac_Personal/openj9/runtime/vm/swalk.c:1633: ((0 ))
13:57:49  JVMDUMP039I Processing dump event "traceassert", detail "" at 2024/11/07 13:55:53 - please wait.
13:57:49  JVMDUMP032I JVM requested System dump using '/Users/jenkins/workspace/Test_openjdk21_j9_sanity.openjdk_x86-64_mac_Personal_testList_0/aqa-tests/TKG/output_17310048217327/jdk_lang_j9_0/work/scratch/6/core.20241107.135553.81681.0001.dmp' in response to an event
...

14:18:40  FAILED test targets:
14:18:40  	jdk_lang_j9_0 - Test results: passed: 931; failed: 1 
14:18:40  		Failed test cases: 
14:18:40  			TEST: java/lang/Thread/virtual/stress/Skynet.java#default

(5) Test_openjdk8_j9_sanity.functional_aarch64_linux_Personal: Known issue #20531 (comment)

12:42:49  BUILD FAILED
12:42:49  /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_aarch64_linux_Personal/aqa-tests/TKG/scripts/build_tools.xml:58: The following error occurred while executing this line:
12:42:49  /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_aarch64_linux_Personal/aqa-tests/TKG/scripts/build_tools.xml:37: java.lang.UnsatisfiedLinkError: jdk/crypto/jniprovider/NativeCrypto.isOpenSSLFIPS()Z
12:42:49  	at jdk.crypto.jniprovider.NativeCrypto.<clinit>(NativeCrypto.java:89)
12:42:49  	at sun.security.provider.SunEntries.<clinit>(SunEntries.java:104)
12:42:49  	at sun.security.provider.Sun.<init>(Sun.java:56)
12:42:49  	at java.lang.J9VMInternals.newInstanceImpl(Native Method)
12:42:49  	at java.lang.Class.newInstance(Class.java:2130)

(6) Test_openjdk8_j9_sanity.functional_ppc64le_linux_Personal: Known issue #20531 (comment)

12:18:06  BUILD FAILED
12:18:06  /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_ppc64le_linux_Personal/aqa-tests/TKG/scripts/build_tools.xml:58: The following error occurred while executing this line:
12:18:06  /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_ppc64le_linux_Personal/aqa-tests/TKG/scripts/build_tools.xml:37: java.lang.UnsatisfiedLinkError: jdk/crypto/jniprovider/NativeCrypto.isOpenSSLFIPS()Z
12:18:06  	at jdk.crypto.jniprovider.NativeCrypto.<clinit>(NativeCrypto.java:89)
12:18:06  	at sun.security.provider.SunEntries.<clinit>(SunEntries.java:104)
12:18:06  	at sun.security.provider.Sun.<init>(Sun.java:56)
12:18:06  	at java.lang.J9VMInternals.newInstanceImpl(Native Method)
12:18:06  	at java.lang.Class.newInstance(Class.java:2130)
12:18:06  	at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:237)
...

(7) Test_openjdk8_j9_sanity.functional_s390x_linux_Personal: Known issue #20531 (comment)

14:00:23  BUILD FAILED
14:00:23  /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_s390x_linux_Personal_testList_0/aqa-tests/TKG/scripts/build_tools.xml:58: The following error occurred while executing this line:
14:00:23  /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_s390x_linux_Personal_testList_0/aqa-tests/TKG/scripts/build_tools.xml:37: java.lang.UnsatisfiedLinkError: jdk/crypto/jniprovider/NativeCrypto.isOpenSSLFIPS()Z
14:00:23  	at jdk.crypto.jniprovider.NativeCrypto.<clinit>(NativeCrypto.java:89)
14:00:23  	at sun.security.provider.SunEntries.<clinit>(SunEntries.java:104)
14:00:23  	at sun.security.provider.Sun.<init>(Sun.java:56)
14:00:23  	at java.lang.J9VMInternals.newInstanceImpl(Native Method)
14:00:23  	at java.lang.Class.newInstance(Class.java:2130)
14:00:23  	at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:237)
14:00:23  	at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:222)
14:00:23  	at java.security.AccessController.doPrivileged(AccessController.java:690)

(8) Test_openjdk8_j9_sanity.functional_x86-64_linux_Personal: Known issue #20531 (comment)

13:17:03  BUILD FAILED
13:17:03  /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_x86-64_linux_Personal_testList_1/aqa-tests/TKG/scripts/build_tools.xml:58: The following error occurred while executing this line:
13:17:03  /home/jenkins/workspace/Test_openjdk8_j9_sanity.functional_x86-64_linux_Personal_testList_1/aqa-tests/TKG/scripts/build_tools.xml:37: java.lang.UnsatisfiedLinkError: jdk/crypto/jniprovider/NativeCrypto.isOpenSSLFIPS()Z
13:17:03  	at jdk.crypto.jniprovider.NativeCrypto.<clinit>(NativeCrypto.java:89)
13:17:03  	at sun.security.provider.SunEntries.<clinit>(SunEntries.java:104)
13:17:03  	at sun.security.provider.Sun.<init>(Sun.java:56)
13:17:03  	at java.lang.J9VMInternals.newInstanceImpl(Native Method)
13:17:03  	at java.lang.Class.newInstance(Class.java:2130)
13:17:03  	at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:237)
13:17:03  	at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:222)

@a7ehuo
Copy link
Contributor Author

a7ehuo commented Nov 8, 2024

About (3) Test_openjdk21_j9_sanity.openjdk_ppc64_aix_Personal: I think the failure is similar to #19962 (comment). This time it also fails with the same sub tests on same platform ppc64_aix

[2024-11-07T20:34:26.980Z]         TestCipherMode
...
[2024-11-07T20:34:26.981Z] TEST RESULT: Error. Agent communication error: java.io.EOFException; check console log for any additional details
...
[2024-11-07T20:34:26.981Z] TEST: javax/crypto/Cipher/TestGetInstance.java
...
[2024-11-07T20:34:26.981Z] ACTION: compile -- Error. Agent communication error: java.io.EOFException; check console log for any additional details
...
[2024-11-07T20:34:26.982Z] java.net.SocketTimeoutException: Read timed out
[2024-11-07T20:34:26.982Z] 	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:278)
[2024-11-07T20:34:26.982Z] 	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:304)
[2024-11-07T20:34:26.982Z] 	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:346)
[2024-11-07T20:34:26.982Z] 	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:796)
[2024-11-07T20:34:26.982Z] 	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:1099)
[2024-11-07T20:34:26.982Z] 	at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:291)
[2024-11-07T20:34:26.982Z] 	at java.base/java.io.BufferedInputStream.implRead(BufferedInputStream.java:325)
[2024-11-07T20:34:26.982Z] 	at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:312)
[2024-11-07T20:34:26.982Z] 	at java.base/java.io.FilterInputStream.read(FilterInputStream.java:71)
[2024-11-07T20:34:26.982Z] 	at com.sun.javatest.regtest.agent.AgentServer.run(AgentServer.java:236)
[2024-11-07T20:34:26.982Z] 	at com.sun.javatest.regtest.agent.AgentServer.main(AgentServer.java:71)

...
16:18:25  FAILED test targets:
16:18:25  	jdk_security2_1 - Test results: passed: 239; error: 2 
16:18:25  		Failed test cases: 
16:18:25  			TEST: javax/crypto/Cipher/TestCipherMode.java
16:18:25          TEST: javax/crypto/Cipher/TestGetInstance.java

@hzongaro
Copy link
Member

Thanks, @a7ehuo, for investigating those failures. I think the JDK 8 sanity.functional problems have been resolved, so I will rerun them. The JDK 17 sanity.openjdk failure on zLinux doesn't look like it would be related to this change. I will try rerunning it as well, and if it succeeds, I will assume it was unrelated.

Jenkins test sanity.functional alinux,plinux,xlinux,zlinux jdk8 depends eclipse-omr/omr#7529

@hzongaro
Copy link
Member

Jenkins test sanity.openjdk zlinux jdk17 depends eclipse-omr/omr#7529

@a7ehuo
Copy link
Contributor Author

a7ehuo commented Nov 11, 2024

About (2) Test_openjdk17_j9_sanity.openjdk_s390x_linux_Personal, I also ran jdk_util_1 in internal Grinder , 36x all passed

@hzongaro
Copy link
Member

I think this change and eclipse-omr/omr#7529 can be merged. Failures are for known reasons or extremely unlikely to have been caused by these changes.

I will have to wait for the next OMR acceptance build before I can proceed with the coordinated merge.

@hzongaro hzongaro merged commit a8ea161 into eclipse-openj9:master Nov 13, 2024
94 of 99 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:jit depends:omr Pull request is dependent on a corresponding change in OMR tech debt
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants