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

Add support for class lookup by name in CP for JITServer/AOT #20686

Merged
merged 2 commits into from
Nov 28, 2024

Conversation

cjjdespres
Copy link
Contributor

Classes can now be looked up by signature in a constant pool when compiling AOT or remote methods. An SVM assertion failure relating to shadow symbols has also been fixed using this new support.

Fixes: #20669

@cjjdespres
Copy link
Contributor Author

Attn @mpirvu.

runtime/compiler/env/VMJ9.h Outdated Show resolved Hide resolved
@mpirvu mpirvu added comp:jit:aot comp:jitserver Artifacts related to JIT-as-a-Service project labels Nov 27, 2024
The getClassFromSignature() query using a J9ConstantPool is now
supported in all frontends.

Signed-off-by: Christian Despres <[email protected]>
Copy link
Contributor

@mpirvu mpirvu left a comment

Choose a reason for hiding this comment

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

LGTM

@mpirvu
Copy link
Contributor

mpirvu commented Nov 27, 2024

jenkins test sanity all jdk21

@cjjdespres
Copy link
Contributor Author

Test failure on s390x was in jdk/internal/misc/ThreadFlock/ThreadFlockTest.java#virtual:

18:01:55  ===============================================
18:01:55  Running test jdk_lang_1 ...
18:01:55  ===============================================
18:01:55  jdk_lang_1 Start Time: Wed Nov 27 23:01:54 2024 Epoch Time (ms): 1732748514813
18:01:55  variation: -Xdump:system:none -Xdump:heap:none -Xdump:system:events=gpf+abort+traceassert+corruptcache -XX:-JITServerTechPreviewMessage Mode650

18:30:22  command: junit -DthreadFactory=virtual ThreadFlockTest

18:30:22  STARTED    ThreadFlockTest::testAwaitAllWithTimeout1 '[1] java.lang.ThreadBuilders$VirtualThreadFactory@ff1323f4'
18:30:22  org.opentest4j.AssertionFailedError: Duration 5666ms, expected <= 4000ms ==> expected: <true> but was: <false>
18:30:22  	at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
18:30:22  	at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
18:30:22  	at org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
18:30:22  	at org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:36)
18:30:22  	at org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:211)
18:30:22  	at ThreadFlockTest.checkDuration(ThreadFlockTest.java:1088)
18:30:22  	at ThreadFlockTest.testAwaitAllWithTimeout1(ThreadFlockTest.java:429)

I think it's #17975.

@cjjdespres
Copy link
Contributor Author

The aarch64_linux list failed in cmdLineTester_criu_jitserverPostRestore_1 because of the known can't bind server address: Address already in use.

The ppc64_aix list failed in jdk_security2_0 in javax/crypto/Cipher/ByteBuffers.java because of a timeout:

[2024-11-28T06:54:21.559Z] ===============================================
[2024-11-28T06:54:21.559Z] Running test jdk_security2_0 ...
[2024-11-28T06:54:21.559Z] ===============================================
[2024-11-28T06:54:21.559Z] jdk_security2_0 Start Time: Thu Nov 28 06:35:28 2024 Epoch Time (ms): 1732775728014
[2024-11-28T06:54:21.559Z] variation: Mode150
[2024-11-28T06:54:21.559Z] JVM_OPTIONS:  -XX:+UseCompressedOops -Xverbosegclog 

[2024-11-28T07:24:18.774Z] ACTION: main -- Error. Agent error: java.lang.Exception: Agent 4 timed out with a timeout of 960 seconds; check console log for any additional details
[2024-11-28T07:24:18.774Z] REASON: User specified action: run main ByteBuffers DES 8 
[2024-11-28T07:24:18.774Z] TIME:   1268.435 seconds

There have been some "Agent communication error" failures in this test recently (#19962), but I'm not sure if they're related. There is a Cannot contact p8-java1-ibm07: java.lang.InterruptedException message in the same failure, which does appear in the linked issue at least.

@mpirvu
Copy link
Contributor

mpirvu commented Nov 28, 2024

I started a 10x grinder for the AIX failure here: https://openj9-jenkins.osuosl.org/job/Grinder/4006/

@cjjdespres
Copy link
Contributor Author

Three failures in the AIX grinder were

TEST RESULT: Error. Agent communication error: java.io.EOFException; check console log for any additional details

matching #19962, and the other seven were successful.

@mpirvu
Copy link
Contributor

mpirvu commented Nov 28, 2024

I had another 10 iteration grinder with the nightly build: https://openj9-jenkins.osuosl.org/job/Grinder/4007/
There is also a failure with
15:18:17 TEST RESULT: Error. Agent communication error: java.io.EOFException; check console log for any additional details
so this PR is not the culprit. All in all, this PR is ready to be merged.

@mpirvu mpirvu merged commit ff7e742 into eclipse-openj9:master Nov 28, 2024
20 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:jit:aot comp:jitserver Artifacts related to JIT-as-a-Service project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Relo records not being created properly with inlining and findOrFabricateShadowSymbol
3 participants