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

8303942: os::write should write completely #2490

Closed
wants to merge 3 commits into from

Conversation

elifaslan1
Copy link
Contributor

@elifaslan1 elifaslan1 commented May 23, 2024

This is not a clean backport. There were multiple merge conflicts related to undefined parameters and existing methods. This backport is required to address a crash observed in Amazon production. Please refer to the related PR, which has already been merged.

In addition to GHA Tier 1, runtime hotspot, JFR, and hotspot GC tests have been run on macOS.

   TEST                                              TOTAL  PASS  FAIL ERROR
   jtreg:test/hotspot/jtreg:hotspot_runtime            880   880     0     0
==============================
TEST SUCCESS

Finished building target 'test' in configuration 'macosx-x86_64-server-release'

Additinonally, added clean backport of [JDK-8316468] (openjdk/jdk@7ce5bd1)

After new commit reran runtime hotspot tests and they all passed


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-8303942 needs maintainer approval
  • JDK-8183227 needs maintainer approval
  • JDK-8316468 needs maintainer approval

Issues

  • JDK-8303942: os::write should write completely (Bug - P4 - Approved)
  • JDK-8316468: os::write incorrectly handles partial write (Bug - P2 - Approved)
  • JDK-8183227: read/write APIs in class os shall return ssize_t (Enhancement - P4 - Approved)

Reviewers

Reviewing

Using git

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

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 2490

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

Using diff file

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

Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented May 23, 2024

👋 Welcome back elifaslan1! 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.

@elifaslan1 elifaslan1 changed the title Backport Backport bddf48380e658df630fecad5eda40106a24b6e1c May 23, 2024
@openjdk
Copy link

openjdk bot commented May 23, 2024

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

8303942: os::write should write completely
8316468: os::write incorrectly handles partial write
8183227: read/write APIs in class os shall return ssize_t

Reviewed-by: phh, shade

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

  • 17d65fe: 8305072: Win32ShellFolder2.compareTo is inconsistent
  • ffa8a10: 8292948: JEditorPane ignores font-size styles in external linked css-file
  • 541a284: 8322726: C2: Unloaded signature class kills argument value
  • 43a6746: 8307091: A few client tests intermittently throw ConcurrentModificationException
  • ce19e61: 8333724: Problem list security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java#teliasonerarootcav1
  • af699ff: 8325567: jspawnhelper without args fails with segfault
  • a86a221: 8329995: Restricted access to /proc can cause JFR initialization to crash
  • 28aa19e: 8316328: Test jdk/jfr/event/oldobject/TestSanityDefault.java times out for some heap sizes
  • 9aa7b2f: 8279337: The MToolkit is still referenced in a few places
  • 2db1501: 8323801: tag doesn't strikethrough the text
  • ... and 29 more: https://git.openjdk.org/jdk17u-dev/compare/5cdff9f8c17868c5b66338fc1fa3df19eee266c5...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.

As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@phohensee, @shipilev) but any other Committer may sponsor as well.

➡️ 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 changed the title Backport bddf48380e658df630fecad5eda40106a24b6e1c 8303942: os::write should write completely May 23, 2024
@openjdk
Copy link

openjdk bot commented May 23, 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 May 23, 2024
@mlbridge
Copy link

mlbridge bot commented May 23, 2024

Webrevs

@openjdk
Copy link

openjdk bot commented May 23, 2024

⚠️ @elifaslan1 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.

@elifaslan1
Copy link
Contributor Author

/approval JDK-8303942 request Not a clean backport.There were multiple merge conflicts related to undefined parameters and existing methods. This backport is required to address a crash observed in Amazon production. Testing: hotspot,jfr and GHA tests passed.

@openjdk
Copy link

openjdk bot commented May 23, 2024

@elifaslan1
JDK-8303942: The approval request has been updated successfully.

@openjdk openjdk bot added the approval label May 23, 2024
@shipilev
Copy link
Member

There is a P2 regression from this fix: JDK-8316468. It needs to go in this PR as well to avoid non-atomic breakage of 17u-dev.

@RealCLanger
Copy link
Contributor

There is a P2 regression from this fix: JDK-8316468. It needs to go in this PR as well to avoid non-atomic breakage of 17u-dev.

Yes, please add this fix in here and request approval.

@openjdk openjdk bot removed the approval label May 28, 2024
@elifaslan1
Copy link
Contributor Author

/approval JDK-8303942 request Not a clean backport.There were multiple merge conflicts related to undefined parameters and existing methods. This backport is required to address a crash observed in Amazon production. Additionally JDK-8316468 regression has been adressed and added as a clean backport to the PR. Testing: hotspot,jfr and GHA tests passed.

@openjdk
Copy link

openjdk bot commented May 28, 2024

@elifaslan1
JDK-8303942: The approval request has been updated successfully.

@openjdk openjdk bot added the approval label May 28, 2024
@shipilev
Copy link
Member

shipilev commented May 29, 2024

You need to say /issue add JDK-8316468 to record that this PR includes both fixes. Then also request the approval for that one with /approval 8316468 request ...

@elifaslan1
Copy link
Contributor Author

/issue add JDK-8316468

@openjdk
Copy link

openjdk bot commented May 29, 2024

@elifaslan1
Adding additional issue to issue list: 8316468: os::write incorrectly handles partial write.

@elifaslan1
Copy link
Contributor Author

/approval JDK-8316468 request clean backport to address a regression in os::write() that could cause heap dump corruption. Testing: hotspot,jfr and GHA tests passed.

@openjdk
Copy link

openjdk bot commented May 29, 2024

@elifaslan1
JDK-8316468: The approval request has been created successfully.

@openjdk openjdk bot added ready Pull request is ready to be integrated and removed approval labels May 31, 2024
@shipilev
Copy link
Member

This is a tad intrusive change, please make sure that all tests are pass. For example:

JTREG_KEYWORDS="\!headful & \!external-dep & \!printer" make test TEST=all

@elifaslan1
Copy link
Contributor Author

elifaslan1 commented Jun 5, 2024

I ran tests for both my branch and master , results look the same.

@elifaslan1
Copy link
Contributor Author

/integrate

@shipilev
Copy link
Member

shipilev commented Jun 5, 2024

Hold on a sec. Does this also include openjdk/jdk@4ff6720 ?

@openjdk openjdk bot removed the sponsor Pull request is ready to be sponsored label Jun 5, 2024
@openjdk
Copy link

openjdk bot commented Jun 5, 2024

⚠️ @elifaslan1 This pull request contains merges that bring in commits not present in the target repository. Since this is not a "merge style" pull request, these changes will be squashed when this pull request in integrated. If this is your intention, then please ignore this message. If you want to preserve the commit structure, you must change the title of this pull request to Merge <project>:<branch> where <project> is the name of another project in the OpenJDK organization (for example Merge jdk:master).

@openjdk
Copy link

openjdk bot commented Jun 5, 2024

@elifaslan1 Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

@elifaslan1
Copy link
Contributor Author

Thanks Aleksey, it is much cleaner with this commit and there was only 3 conflicted files. First I applied the commit that you referred , after that I applied the last 2 commits.

@elifaslan1
Copy link
Contributor Author

elifaslan1 commented Jun 5, 2024

/issue add JDK-8183227

@openjdk
Copy link

openjdk bot commented Jun 5, 2024

@elifaslan1
Adding additional issue to issue list: 8183227: read/write APIs in class os shall return ssize_t.

@openjdk openjdk bot removed the ready Pull request is ready to be integrated label Jun 5, 2024
@elifaslan1
Copy link
Contributor Author

/approval JDK-8183227 request not clean backport. Current backport is dependent on this backport to address a regression in os::write() that could cause heap dump corruption. Testing: hotspot,jfr and GHA tests passed.

@openjdk
Copy link

openjdk bot commented Jun 5, 2024

@elifaslan1
JDK-8183227: The approval request has been created successfully.

@openjdk openjdk bot added the approval label Jun 5, 2024
@shipilev
Copy link
Member

shipilev commented Jun 5, 2024

Thanks, I'll take a look at these three tomorrow.

Copy link
Member

@shipilev shipilev left a comment

Choose a reason for hiding this comment

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

Looks good to me. Make sure to re-run all tests before integrating.

@openjdk openjdk bot added ready Pull request is ready to be integrated and removed approval labels Jun 7, 2024
@elifaslan1
Copy link
Contributor Author

/integrate

@openjdk openjdk bot added the sponsor Pull request is ready to be sponsored label Jun 7, 2024
@openjdk
Copy link

openjdk bot commented Jun 7, 2024

@elifaslan1
Your change (at version fe31415) is now ready to be sponsored by a Committer.

@phohensee
Copy link
Member

/sponsor

@openjdk
Copy link

openjdk bot commented Jun 7, 2024

Going to push as commit 2d9b1a6.
Since your change was applied there have been 39 commits pushed to the master branch:

  • 17d65fe: 8305072: Win32ShellFolder2.compareTo is inconsistent
  • ffa8a10: 8292948: JEditorPane ignores font-size styles in external linked css-file
  • 541a284: 8322726: C2: Unloaded signature class kills argument value
  • 43a6746: 8307091: A few client tests intermittently throw ConcurrentModificationException
  • ce19e61: 8333724: Problem list security/infra/java/security/cert/CertPathValidator/certification/CAInterop.java#teliasonerarootcav1
  • af699ff: 8325567: jspawnhelper without args fails with segfault
  • a86a221: 8329995: Restricted access to /proc can cause JFR initialization to crash
  • 28aa19e: 8316328: Test jdk/jfr/event/oldobject/TestSanityDefault.java times out for some heap sizes
  • 9aa7b2f: 8279337: The MToolkit is still referenced in a few places
  • 2db1501: 8323801: tag doesn't strikethrough the text
  • ... and 29 more: https://git.openjdk.org/jdk17u-dev/compare/5cdff9f8c17868c5b66338fc1fa3df19eee266c5...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated Pull request has been integrated label Jun 7, 2024
@openjdk openjdk bot closed this Jun 7, 2024
@openjdk openjdk bot 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 Jun 7, 2024
@openjdk
Copy link

openjdk bot commented Jun 7, 2024

@phohensee @elifaslan1 Pushed as commit 2d9b1a6.

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

Successfully merging this pull request may close these issues.

4 participants