-
Notifications
You must be signed in to change notification settings - Fork 728
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
JDK21 java/foreign/loaderLookup/TestLoaderLookup.java Segmentation error vmState=0x00051aff #18074
Comments
This failure occurred earlier than the previous one, although on the same day. https://openj9-jenkins.osuosl.org/job/Test_openjdk21_j9_sanity.openjdk_aarch64_linux_OMR_testList_2/19/
|
vmState [0x51aff]: {J9VMSTATE_JIT} {escapeAnalysis} Changes from the previous build where the failure did not occur, @knn-k fyi |
Since it seems to be failing in every build, we need to fix it or exclude it asap. |
@hzongaro : this seems to be crashing in EA fairly consistently. Could you have a look please? |
Status thus far. The immediate cause of the failure is that a call to TR_EscapeAnalysis::fixupNode passes
The node in question is an I will need to add a test to
|
I went pawing through node n9177n [0xffff49f50440] to see which class was being referenced at that point, as there are seven with that name, some of which have no fields and some of which have an
In gdb, at
So the address referenced by the symbol is
According to both jdmpview and kca, that class has an
|
The function candidateHasField is responsible for determining whether a field accesses a field that's actually in a candidate. In particular, I'm looking at these lines:
From the store node, the owning method index of the field is 277:
The
Notice that the J9Class is 0xfffee80da500, rather than 0xfffee80da800. I'm wondering how we seem to be using an |
https://openj9-jenkins.osuosl.org/job/Test_openjdk21_j9_sanity.openjdk_ppc64le_linux_Nightly_testList_2/57
|
Henry (@hzongaro), could you post a brief status update on this JDK 21 issue and the outlook for JDK 21 please? Thanks. |
I haven't investigated further since last time, but I'll spend some time on it this week. I think I should be able to have a fix ready for JDK 21. |
I spent some time producing logs running
I found that before Global Value Propagation, two (amongst several) object allocations being performed through
Global Value Propagation transforms those two calls to Unsafe.allocateInstance into jitNewObject operations:
and
The j9class for |
Using the fix in #18374, 100X Grinder of TestLoaderLookup.java and 100X Grinder running jdk_foreign_0 all passed. |
The problem with recognizing whether fields in hidden classes are the same was fixed by pull request #18374. That bug resulted in trees that expose the latent bug in Escape Analysis that resulted in the crash first reported in this issue. That latent bug is still present, so I will leave this issue open until that bug is fixed, but I will move this issue to release-0.44, as it's unlikely to be seen. |
Closing this issue. The bug that ultimately caused the test failure was fixed under pull request #18374. The latent bug in Escape Analysis described in a comment above will be tracked under issue #19148. |
Failure link
From an internal build(
ub20-aarch64-4
):Rerun in Grinder - Change TARGET to run only the failed test targets.
Optional info
Failure output (captured from console output)
50x internal grinder - 7/50 failed w/
Segmentation error vmState=0x00051aff
The text was updated successfully, but these errors were encountered: