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
8191278: MappedByteBuffer bulk access memory failures are not handled gracefully #173
Conversation
|
This backport pull request has now been updated with issue and summary from the original commit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Confirm changes to files except stubGenerator_arm.cpp are identical to the original patch. Changes to stubGenerator_arm.cpp look good to me.
BTW, 8226871 looks trivial. Maybe it is worth to push it first. |
Hi, @snazarkin, |
Thanks for information. I've added PRs with changes made independently from code introduced by this PR. Hovewer it is not clear how to add fix for this PR covered by 8229254. |
Thanks. Added depended pull request. |
Thanks for review. The review would be simpler if diff viewer can omit while space changes. |
It can. In 'File changed' tab you can click the gear and select 'Hide whitespace changes'. |
You should be able to do 8229254 as dependend PR to this PR. Just cherry pick the change on a branch based on snazarkin:8226878-backport (or pr/173) and then open the PR against pr/173. That should be exactly what dependend PRs are designed for. |
I've complete all 3 follow-ups to cover issue introduced by this PR |
Thanks, @snazarkin. I'll run the PRs through SAP's regression testing and reach out to the fellow maintainers for some alignment on whether this backport is appropriate for 11u at this time. Judging by the lines of code that are changed by this - and most of these are at the very heart of hotspot - we have to be very careful with this one. Thanks for your understanding. |
Mailing list message from Andrew Haley on jdk-updates-dev: On 7/29/21 1:28 PM, Sergey Nazarkin wrote:
Wow. This is a very invasive patch for a P3 enhancement (that mysteriously As far as I know, this only has any effect if someone modifies a file in -- |
Mailing list message from Sergey Nazarkin on jdk-updates-dev: The patch looks scary but in general it just adds a guard at the beginning of unsafe copy block. So a bunch of code just shifted right without single line modification. We got a few reports from the users about JVM crash when they modify file being mapped. It was definitely application issue but Unsafe contains protection for primitive types so it might be worth to have the same for copy operation.
|
Mailing list message from Andrew Haley on jdk-updates-dev: On 8/5/21 8:15 PM, Sergey Nazarkin wrote:
Sure, I understand. However, the only thing this patch changes is that The default response to enhancements in old releases is no, and there's We need to learn from experience. Take, for example, JDK-8267689. That I think we shouldn't risk regressions like that unless we actually -- -- |
Mailing list message from Sergey Nazarkin on jdk-updates-dev: Thanks, Andrew! That sounds like a reason to not bother the community with the patch for jdk8.
|
FWIW: Testing of this change plus its three follow ups didn't show regressions in SAP's nightlies. |
@snazarkin, since this item was rejected by the maintainers, would you mind closing this PR? |
Hi!
I'd like to backport this changes to fix crash happens on memory mapped file operations. The patch applies almost cleanly except stubGenerator_arm.cpp due to miss of JEP 340 (One AArch64 Port, Not Two), and some copyright year conflicts.
Need to note that a series of follow up is required to fix some platforms build. Particularly arm32/aarch64 is not buildable without 8226871. I'll create necessary PR soon.
Tested with tier1/tier2 and new InternalErrorTest.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk11u-dev pull/173/head:pull/173
$ git checkout pull/173
Update a local copy of the PR:
$ git checkout pull/173
$ git pull https://git.openjdk.java.net/jdk11u-dev pull/173/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 173
View PR using the GUI difftool:
$ git pr show -t 173
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk11u-dev/pull/173.diff