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

8253588: C1: assert(false) failed: unknown register on x86_32 only with -XX:+TraceLinearScanLevel=4 #356

Closed
wants to merge 1 commit into from

Conversation

chhagedorn
Copy link
Member

@chhagedorn chhagedorn commented Sep 25, 2020

JDK-8251093 introduced some additional logging of intervals and its registers in various places. On 32-bit only, we could have two registers for an interval. A hi-register is only used when the interval has _num_phys_regs set to 2. In one such place (L5448), we log the hi-register hint_regHi. On L5441, however, we can assign it an invalid register number when _num_phys_regs is 1. That was not a problem before JDK-8251093 as we only used hint_regHi later after a _num_phys_regs == 2 check on L5484. But the additional logging is performed earlier resulting in this assertion failure when trying to log the invalid hint_regHi register.

Thanks,
Christian


Progress

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

Issue

  • JDK-8253588: C1: assert(false) failed: unknown register on x86_32 only with -XX:+TraceLinearScanLevel=4

Reviewers

Download

$ git fetch https://git.openjdk.java.net/jdk pull/356/head:pull/356
$ git checkout pull/356

Sorry, something went wrong.

@bridgekeeper
Copy link

bridgekeeper bot commented Sep 25, 2020

👋 Welcome back chagedorn! 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 Sep 25, 2020
@openjdk
Copy link

openjdk bot commented Sep 25, 2020

@chhagedorn The following label will be automatically applied to this pull request: hotspot-compiler.

When this pull request is ready to be reviewed, an RFR email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label (add|remove) "label" command.

@openjdk openjdk bot added the hotspot-compiler hotspot-compiler-dev@openjdk.org label Sep 25, 2020
@mlbridge
Copy link

mlbridge bot commented Sep 25, 2020

Webrevs

@chhagedorn chhagedorn changed the title 8253588: C1: assert(false) failed: unknown register compiler on x86_32 only with -XX:+TraceLinearScanLevel=4 8253588: C1: assert(false) failed: unknown register on x86_32 only with -XX:+TraceLinearScanLevel=4 Sep 25, 2020
Copy link
Member

@TobiHartmann TobiHartmann left a comment

Choose a reason for hiding this comment

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

Looks reasonable to me.

@openjdk
Copy link

openjdk bot commented Oct 8, 2020

@chhagedorn 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:

8253588: C1: assert(false) failed: unknown register on x86_32 only with -XX:+TraceLinearScanLevel=4

Reviewed-by: thartmann, kvn

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 237 new commits pushed to the master branch:

  • 7ec9c8e: 8233214: Remove runtime code not needed with CMS removed
  • 536b35b: 8254319: Shenandoah: Interpreter native-LRB needs to activate during HAS_FORWARDED
  • be26972: 8253379: [windows] Several jpackage tests failed with error code 1638
  • 52e45a3: 8229186: Improve error messages for TestStringIntrinsics failures
  • 6d2c1a6: 8254292: Update JMH devkit to 1.26
  • 2bbf8a2: 8245543: Cgroups: Incorrect detection logic on some systems (still reproducible)
  • aaa0a2a: 8254297: Zero and Minimal VMs are broken with undeclared identifier 'DerivedPointerTable' after JDK-8253180
  • 7e80c98: 8254261: fix javadocs in jdk.test.lib.Utils
  • d4b5dfd: 8253857: Shenandoah: Bugs in ShenandoahEvacOOMHandler related code
  • e9c1905: 8253740: [PPC64] Minor interpreter cleanup
  • ... and 227 more: https://git.openjdk.java.net/jdk/compare/3fe5886baf93dbbeba7baac4dad5876eeb7f9f5b...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 Oct 8, 2020
Copy link
Contributor

@vnkozlov vnkozlov left a comment

Choose a reason for hiding this comment

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

Good.

@chhagedorn
Copy link
Member Author

Thank you Tobias and Vladimir for your reviews!

@chhagedorn
Copy link
Member Author

/integrate

@openjdk openjdk bot closed this Oct 12, 2020
@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 Oct 12, 2020
@openjdk
Copy link

openjdk bot commented Oct 12, 2020

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

  • 59378a1: 8254164: G1 only removes self forwarding pointers for last collection set increment
  • bf46acf: 8254028: G1 incorrectly updates scan_top for collection set regions during preparation of evacuation
  • a2bb4c6: 8254314: Shenandoah: null checks in c2 should not skip over native load barrier
  • c73a0ff: 8252105: Parallel heap inspection for ZCollectedHeap
  • 45b09a3: 8253833: mutexLocker assert_locked_or_safepoint should not access VMThread state from non-VM-thread
  • 77c7762: 8254353: Remove unused non-product flags
  • d3069ac: 8254362: x86_32 builds fail after JDK-8253180
  • 25001c5: 8254352: 3 compiler tests failed with "assert(allocates2(pc)) failed: not in CodeBuffer memory"
  • d43f141: 8254351: Minimal VM build fails with undeclared identifier 'MaxVectorSize' after JDK-8252847
  • cc52358: 8254335: logging/logStream.hpp includes memory/resourceArea.hpp but doesn't need it
  • ... and 240 more: https://git.openjdk.java.net/jdk/compare/3fe5886baf93dbbeba7baac4dad5876eeb7f9f5b...master

Your commit was automatically rebased without conflicts.

Pushed as commit 13fe054.

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

@chhagedorn chhagedorn deleted the JDK-8253588 branch October 27, 2020 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hotspot-compiler hotspot-compiler-dev@openjdk.org integrated Pull request has been integrated
Development

Successfully merging this pull request may close these issues.

None yet

3 participants