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

8250825: C2 crashes with assert(field != __null) failed: missing field #552

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

sendaoYan
Copy link
Member

@sendaoYan sendaoYan commented Jul 24, 2024

Hi all,
This is backport of JDK-8250825. It's prefixed PR for JDK-8255466 backport.
New test fails without the patch, passes with it.

There are two parts make this backport not clean:

  1. Patch does not apply cleanly due to different context, before JDK-8250825 the PR JDK-8230505 change releated lines, and I think JDK-8230505 do not needed backport to jdk8u-dev.
  2. The added testcase can't backport to jdk8u directly, import jdk.internal.misc.Unsafe should instead of import sun.misc.Unsafe in jdk8u.

Additional testing:

  • linux x64 tier1/2/3 jtreg test
  • inux aarch64 tier1/2/3 jtreg test

Progress

  • Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • JDK-8250825 needs maintainer approval

Issue

  • JDK-8250825: C2 crashes with assert(field != __null) failed: missing field (Bug - P3 - Requested)

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk8u-dev.git pull/552/head:pull/552
$ git checkout pull/552

Update a local copy of the PR:
$ git checkout pull/552
$ git pull https://git.openjdk.org/jdk8u-dev.git pull/552/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 552

View PR using the GUI difftool:
$ git pr show -t 552

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk8u-dev/pull/552.diff

Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Jul 24, 2024

👋 Welcome back syan! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Jul 24, 2024

❗ This change is not yet ready to be integrated.
See the Progress checklist in the description for automated requirements.

@openjdk openjdk bot changed the title Backport e03ca73dc122af84d4a5456120e5cf5fac7aed31 8250825: C2 crashes with assert(field != __null) failed: missing field Jul 24, 2024
@openjdk
Copy link

openjdk bot commented Jul 24, 2024

This backport pull request has now been updated with issue from the original commit.

@openjdk openjdk bot added backport rfr Pull request is ready for review labels Jul 24, 2024
@mlbridge
Copy link

mlbridge bot commented Jul 24, 2024

Webrevs

@sendaoYan sendaoYan marked this pull request as draft July 24, 2024 12:40
@openjdk openjdk bot removed the rfr Pull request is ready for review label Jul 24, 2024
Copy link
Member

@phohensee phohensee left a comment

Choose a reason for hiding this comment

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

The new test fails GHA.

@sendaoYan
Copy link
Member Author

sendaoYan commented Jul 25, 2024

The new test fails GHA.

Yes, that's the reason this PR still in Draft status, I will fix the test these days.

@sendaoYan sendaoYan marked this pull request as ready for review July 25, 2024 03:14
@openjdk
Copy link

openjdk bot commented Jul 25, 2024

⚠️ @sendaoYan This change is now ready for you to apply for maintainer approval. This can be done directly in each associated issue or by using the /approval command.

@openjdk openjdk bot added the rfr Pull request is ready for review label Jul 25, 2024
@sendaoYan
Copy link
Member Author

After the additional test finish, I will make approval request.

@sendaoYan
Copy link
Member Author

The new test fails GHA.

The test fails has been fixed now.

@sendaoYan
Copy link
Member Author

The GHA report several failures:

  1. macos x64 runtime/7158988/FieldMonitor.java fails VM initialization failed for: j2sdk-image/jre/bin/java -Xshare:off -XX:+PrintGC -Xdebug -Xrunjdwp:transport=dt_socket,address=Mac-1721876641775.local:49199,suspend=y TestPostFieldModification. This test also fails in PR551, I think it's unrelated to this PR.
  2. macos x64 compiler/unsafe/OpaqueAccesses.java fails SIGSEGV in Unsafe_GetInt, This test also fails in PR551, I think it's unrelated to this PR.
  3. macos x64 all the com/sun/jdi testcases fails transport error 202: gethostbyname: unknown host, seems to be GHA environmental issue.

@sendaoYan
Copy link
Member Author

/approval request Backport JDK-8250825, New test fails without the patch, passes with it. All the jtreg tests on linux x86_64 and aarch64 shows no new failure.

@openjdk
Copy link

openjdk bot commented Jul 25, 2024

@sendaoYan
8250825: The approval request has been created successfully.

@openjdk openjdk bot added the approval label Jul 25, 2024
@zzambers
Copy link
Contributor

The GHA report several failures:

1. macos x64 `runtime/7158988/FieldMonitor.java` fails `VM initialization failed for: j2sdk-image/jre/bin/java -Xshare:off -XX:+PrintGC -Xdebug -Xrunjdwp:transport=dt_socket,address=Mac-1721876641775.local:49199,suspend=y TestPostFieldModification`. This test also fails in [PR551](https://github.com/openjdk/jdk8u-dev/pull/551), I think it's unrelated to this PR.

2. macos x64 `compiler/unsafe/OpaqueAccesses.java` fails `SIGSEGV  in Unsafe_GetInt`, This test also fails in [PR551](https://github.com/openjdk/jdk8u-dev/pull/551), I think it's unrelated to this PR.

3. macos x64 all the `com/sun/jdi` testcases fails `transport error 202: gethostbyname: unknown host`, seems to be GHA environmental issue.

All these mac issues should be unrelated, see: #544

@sendaoYan
Copy link
Member Author

After #544 has been merged, does the two jbs issue can be cloesd? @zzambers
https://bugs.openjdk.org/browse/JDK-8337185
https://bugs.openjdk.org/browse/JDK-8337183

@sendaoYan
Copy link
Member Author

Thanks for the review.

@zzambers
Copy link
Contributor

After #544 has been merged, does the two jbs issue can be cloesd? @zzambers
https://bugs.openjdk.org/browse/JDK-8337185
https://bugs.openjdk.org/browse/JDK-8337183

I have classified problems on MacOS in this coment: #544 (comment)

@bridgekeeper
Copy link

bridgekeeper bot commented Aug 22, 2024

@sendaoYan This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@sendaoYan
Copy link
Member Author

Hi, can anyone take look this backport to jdk8u.

@sendaoYan
Copy link
Member Author

Thanks for the review.

Copy link
Member

@gnu-andrew gnu-andrew left a comment

Choose a reason for hiding this comment

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

The change to the test for Unsafe looks fine and matches other 8u tests that use Unsafe.

I'm not sure what patch you're backporting from, but the 11u version is already adjusted for the absence of JDK-8230505. If you fix up the indentation to match 11u, this should be good to go.

hotspot/src/share/vm/opto/type.cpp Show resolved Hide resolved
@sendaoYan
Copy link
Member Author

/approval request Fixes the corner case in C2. Patch does not apply cleanly due to different context. New test fails without the patch, passes with it. jtreg tier{1,2,3} also passes.

@openjdk
Copy link

openjdk bot commented Sep 19, 2024

@sendaoYan
8250825: The approval request has been updated successfully.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approval backport rfr Pull request is ready for review
Development

Successfully merging this pull request may close these issues.

5 participants