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

8263914: CDS fails to find the default shared archive on x86_32 #3109

Closed
wants to merge 2 commits into from

Conversation

DamonFool
Copy link
Member

@DamonFool DamonFool commented Mar 22, 2021

Hi all,

The VM fails to get initialized when running with java -Xshare:on -version on x86_32.
The reason is that the default shared archive (classes_nocoops.jsa) doesn't exist.
So the build system should generate classes_nocoops.jsa instead of classes.jsa on x86_32.

Thanks.
Best regards,
Jie


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed

Issue

  • JDK-8263914: CDS fails to find the default shared archive on x86_32

Reviewers

Download

To checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/3109/head:pull/3109
$ git checkout pull/3109

To update a local copy of the PR:
$ git checkout pull/3109
$ git pull https://git.openjdk.java.net/jdk pull/3109/head

@DamonFool
Copy link
Member Author

/issue add JDK-8263914
/test
/label add build
/cc build
/label add hotspot-runtime
/cc hotspot-runtime

@bridgekeeper
Copy link

bridgekeeper bot commented Mar 22, 2021

👋 Welcome back jiefu! 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 openjdk bot added the rfr Pull request is ready for review label Mar 22, 2021
@openjdk
Copy link

openjdk bot commented Mar 22, 2021

@DamonFool This issue is referenced in the PR title - it will now be updated.

@openjdk openjdk bot added the build build-dev@openjdk.org label Mar 22, 2021
@openjdk
Copy link

openjdk bot commented Mar 22, 2021

@DamonFool
The build label was successfully added.

@openjdk
Copy link

openjdk bot commented Mar 22, 2021

@DamonFool The build label was already applied.

@openjdk openjdk bot added the hotspot-runtime hotspot-runtime-dev@openjdk.org label Mar 22, 2021
@openjdk
Copy link

openjdk bot commented Mar 22, 2021

@DamonFool
The hotspot-runtime label was successfully added.

@openjdk
Copy link

openjdk bot commented Mar 22, 2021

@DamonFool The hotspot-runtime label was already applied.

@mlbridge
Copy link

mlbridge bot commented Mar 22, 2021

Webrevs

@dholmes-ora
Copy link
Member

Hi Jie,

I don't think this is the right solution here. The logic for when to use a NOCOOPS archive seems inconsistent between the generate and use phases. If 32-bit is logically always a no-coops archive it should still be called classes.jsa. The logic to look for the archive seems wrong to me.

David

@DamonFool
Copy link
Member Author

Hi Jie,

I don't think this is the right solution here. The logic for when to use a NOCOOPS archive seems inconsistent between the generate and use phases. If 32-bit is logically always a no-coops archive it should still be called classes.jsa. The logic to look for the archive seems wrong to me.

David

Thanks @dholmes-ora for your review.
The logic to look for the archive has been fixed.

Testing:

  • runtime/cds on Linux/{x64, x86}, no regression

Thanks.

Copy link
Member

@dholmes-ora dholmes-ora left a comment

Choose a reason for hiding this comment

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

That looks like the right place to fix this - thanks.

Let's see what @iklam has to say. :)

David

@openjdk
Copy link

openjdk bot commented Mar 22, 2021

@DamonFool This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8263914: CDS fails to find the default shared archive on x86_32

Reviewed-by: dholmes, iklam

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 11 new commits pushed to the master branch:

  • f08bf4b: 8263891: Changes for 8076985 missed the fix.
  • b2df513: 8261785: Calling "main" method in anonymous nested class crashes the JVM
  • 840ab7b: 8263894: Convert defaultPrinter and printers fields to local variables
  • ba504fc: 8187450: JNI local refs exceeds capacity warning in NetworkInterface::getAll
  • 0abbfb2: 8263729: [test] divert spurious output away from stream under test in ProcessBuilder Basic test
  • 6c2220e: 8263861: Shenandoah: Remove unused member in ShenandoahGCStateResetter
  • 5262d95: 8263855: Use the blessed modifier order in java.management/naming
  • 6f1bcb0: 8263593: Fix multiple typos in hsdis README
  • a9d2267: 8260589: Crash in JfrTraceIdLoadBarrier::load(_jclass*)
  • 42104e5: 8263488: Verify CWarningWindow works with metal rendering pipeline
  • ... and 1 more: https://git.openjdk.java.net/jdk/compare/35cd9456b9266579a8496130570eb2ea7f9254d9...master

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready Pull request is ready to be integrated label Mar 22, 2021
Copy link
Member

@iklam iklam left a comment

Choose a reason for hiding this comment

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

LGTM

@DamonFool
Copy link
Member Author

Thanks @dholmes-ora and @iklam .
/integrate

@openjdk openjdk bot closed this Mar 23, 2021
@openjdk openjdk bot added integrated Pull request has been integrated and removed ready Pull request is ready to be integrated rfr Pull request is ready for review labels Mar 23, 2021
@DamonFool DamonFool deleted the JDK-8263914 branch March 23, 2021 01:18
@openjdk
Copy link

openjdk bot commented Mar 23, 2021

@DamonFool Since your change was applied there have been 14 commits pushed to the master branch:

  • a5e7a89: 8263904: compiler/intrinsics/bmi/verifycode/BzhiTestI2L.java fails on x86_32
  • f62b100: 8263895: Test nsk/jvmti/GetThreadGroupChildren/getthrdgrpchld001/getthrdgrpchld001.cpp uses incorrect indices
  • f84b52b: 8263897: compiler/c2/aarch64/TestVolatilesSerial.java failed with "java.lang.RuntimeException: Wrong method"
  • f08bf4b: 8263891: Changes for 8076985 missed the fix.
  • b2df513: 8261785: Calling "main" method in anonymous nested class crashes the JVM
  • 840ab7b: 8263894: Convert defaultPrinter and printers fields to local variables
  • ba504fc: 8187450: JNI local refs exceeds capacity warning in NetworkInterface::getAll
  • 0abbfb2: 8263729: [test] divert spurious output away from stream under test in ProcessBuilder Basic test
  • 6c2220e: 8263861: Shenandoah: Remove unused member in ShenandoahGCStateResetter
  • 5262d95: 8263855: Use the blessed modifier order in java.management/naming
  • ... and 4 more: https://git.openjdk.java.net/jdk/compare/35cd9456b9266579a8496130570eb2ea7f9254d9...master

Your commit was automatically rebased without conflicts.

Pushed as commit b23228d.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build build-dev@openjdk.org hotspot-runtime hotspot-runtime-dev@openjdk.org integrated Pull request has been integrated
3 participants