Skip to content

8267042: bug in monitor locking/unlocking on ARM32 C1 due to uninitialized BasicObjectLock::_displaced_header #129

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

Closed
wants to merge 1 commit into from

Conversation

chrishcole
Copy link
Contributor

@chrishcole chrishcole commented Jul 13, 2021


Progress

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

Issue

  • JDK-8267042: bug in monitor locking/unlocking on ARM32 C1 due to uninitialized BasicObjectLock::_displaced_header

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk11u-dev pull/129/head:pull/129
$ git checkout pull/129

Update a local copy of the PR:
$ git checkout pull/129
$ git pull https://git.openjdk.java.net/jdk11u-dev pull/129/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 129

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

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/jdk11u-dev/pull/129.diff

@bridgekeeper bridgekeeper bot added the oca Needs verification of OCA signatory status label Jul 13, 2021
@bridgekeeper
Copy link

bridgekeeper bot commented Jul 13, 2021

Hi @chrishcole, welcome to this OpenJDK project and thanks for contributing!

We do not recognize you as Contributor and need to ensure you have signed the Oracle Contributor Agreement (OCA). If you have not signed the OCA, please follow the instructions. Please fill in your GitHub username in the "Username" field of the application. Once you have signed the OCA, please let us know by writing /signed in a comment in this pull request.

If you already are an OpenJDK Author, Committer or Reviewer, please click here to open a new issue so that we can record that fact. Please use "Add GitHub user chrishcole" as summary for the issue.

If you are contributing this work on behalf of your employer and your employer has signed the OCA, please let us know by writing /covered in a comment in this pull request.

@openjdk openjdk bot changed the title Backport 8f2456e5b058a88730ec383d88634737849afdfb 8267042: bug in monitor locking/unlocking on ARM32 C1 due to uninitialized BasicObjectLock::_displaced_header Jul 13, 2021
@openjdk
Copy link

openjdk bot commented Jul 13, 2021

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

@chrishcole
Copy link
Contributor Author

/covered

@bridgekeeper bridgekeeper bot added the oca-verify Needs verification of OCA signatory status label Jul 13, 2021
@bridgekeeper
Copy link

bridgekeeper bot commented Jul 13, 2021

Thank you! Please allow for a few business days to verify that your employer has signed the OCA. Also, please note that pull requests that are pending an OCA check will not usually be evaluated, so your patience is appreciated!

@TheRealMDoerr
Copy link
Contributor

I've requested backport approval in the JBS issue. It can get integrated once OCA is verified and the backport approved.

@chrishcole
Copy link
Contributor Author

@TheRealMDoerr great thanks for the information and help.

My company Sage Embedded Software LLC has signed the OCA, if there is any additional information required let me know.

I have tested this change by running the JCK with ARM32 build (without this fix a get a couple test cases that hang). I have also verified that included jtreg test case passes for x86, aarch64 and arm32 builds of jdk11.

I just remembered that in jdk11 there is the non-default --with-cpu-port=arm64 that is also impacted by this bug and would require additional changes to the "#ifdef AARCH64" blocks of the changed lines of code. I tried building --with-cpu-port=arm64 and it is very broken by various commits over the last few years. So I assume this port has been abandoned and not supported for jdk11 any more. So I will not worry about these extra changes. The default "aarch64" and non-ARM ports are NOT impacted by this issue, but the arm32 port is.

Thanks again,
Chris Cole
Sage Embedded Software LLC

@bridgekeeper bridgekeeper bot removed oca Needs verification of OCA signatory status oca-verify Needs verification of OCA signatory status labels Jul 20, 2021
@openjdk
Copy link

openjdk bot commented Jul 20, 2021

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

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

8267042: bug in monitor locking/unlocking on ARM32 C1 due to uninitialized BasicObjectLock::_displaced_header

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

  • 2696643: 8254967: com.sun.net.HttpsServer spins on TLS session close
  • 1e1a2c4: 8270556: Exclude security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA
  • 10bbe2f: 8263531: Remove unused buffer int
  • dff3b7f: 8267459: Pasting Unicode characters into JShell does not work.
  • 2252165: 8268362: [REDO] C2 crash when compile negative Arrays.copyOf length after loop
  • 8008d33: 8269304: Regression ~5% in 2005 in b27
  • 7a61e03: 8268347: C2: nested locks optimization may create unbalanced monitor enter/exit code
  • 93f952c: 8269882: stack-use-after-scope in NewObjectA
  • c9a8220: 8268620: InfiniteLoopException test may fail on x86 platforms

Please see this link for an up-to-date comparison between the source branch of this pull request and the master branch.
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.

As you do not have Committer status in this project an existing Committer must agree to sponsor your change.

➡️ To flag this PR as ready for integration with the above commit message, type /integrate in a new comment. (Afterwards, your sponsor types /sponsor in a new comment to perform the integration).

@openjdk openjdk bot added ready Pull request is ready to be integrated rfr Pull request is ready for review labels Jul 20, 2021
@mlbridge
Copy link

mlbridge bot commented Jul 20, 2021

Webrevs

@chrishcole
Copy link
Contributor Author

/integrate

@openjdk
Copy link

openjdk bot commented Jul 20, 2021

@chrishcole
Your change (at version 2f48e1c) is now ready to be sponsored by a Committer.

@openjdk openjdk bot added the sponsor Pull request is ready to be sponsored label Jul 20, 2021
@TheRealMDoerr
Copy link
Contributor

/sponsor

@openjdk
Copy link

openjdk bot commented Jul 20, 2021

Going to push as commit 240ef44.
Since your change was applied there have been 9 commits pushed to the master branch:

  • 2696643: 8254967: com.sun.net.HttpsServer spins on TLS session close
  • 1e1a2c4: 8270556: Exclude security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA
  • 10bbe2f: 8263531: Remove unused buffer int
  • dff3b7f: 8267459: Pasting Unicode characters into JShell does not work.
  • 2252165: 8268362: [REDO] C2 crash when compile negative Arrays.copyOf length after loop
  • 8008d33: 8269304: Regression ~5% in 2005 in b27
  • 7a61e03: 8268347: C2: nested locks optimization may create unbalanced monitor enter/exit code
  • 93f952c: 8269882: stack-use-after-scope in NewObjectA
  • c9a8220: 8268620: InfiniteLoopException test may fail on x86 platforms

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot closed this Jul 20, 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 sponsor Pull request is ready to be sponsored labels Jul 20, 2021
@openjdk
Copy link

openjdk bot commented Jul 20, 2021

@TheRealMDoerr @chrishcole Pushed as commit 240ef44.

💡 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
backport clean integrated Pull request has been integrated
Development

Successfully merging this pull request may close these issues.

2 participants