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

8315559: Delay TempSymbol cleanup to avoid symbol table churn #154

Conversation

olivergillespie
Copy link
Contributor

@olivergillespie olivergillespie commented Jan 9, 2024

Hi all,

This pull request contains a backport of commit d23f4f12 from the openjdk/jdk repository.

The commit being backported was authored by Oli Gillespie on 4 Dec 2023 and was reviewed by Coleen Phillimore, Kim Barrett and Aleksey Shipilev.

Thanks!


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-8315559 needs maintainer approval
  • JDK-8321276 needs maintainer approval

Issues

  • JDK-8315559: Delay TempSymbol cleanup to avoid symbol table churn (Bug - P3 - Approved)
  • JDK-8321276: runtime/cds/appcds/dynamicArchive/DynamicSharedSymbols.java failed with "'17 2: jdk/test/lib/apps ' missing from stdout/stderr" (Bug - P2 - Approved)

Reviewers

Reviewing

Using git

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

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 154

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

Using diff file

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

Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Jan 9, 2024

👋 Welcome back ogillespie! 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 changed the title Backport d23f4f12adf1ea26b8c340efe2c3854e50b68301 8315559: Delay TempSymbol cleanup to avoid symbol table churn Jan 9, 2024
@openjdk
Copy link

openjdk bot commented Jan 9, 2024

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

@openjdk
Copy link

openjdk bot commented Jan 9, 2024

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

@openjdk openjdk bot added the rfr Pull request is ready for review label Jan 9, 2024
@mlbridge
Copy link

mlbridge bot commented Jan 9, 2024

Webrevs

@olivergillespie
Copy link
Contributor Author

olivergillespie commented Jan 10, 2024

/approval request Clean backport to fix performance regression.

@openjdk
Copy link

openjdk bot commented Jan 10, 2024

@olivergillespie
8315559: The approval request has been created successfully.

@openjdk openjdk bot added the approval label Jan 10, 2024
@jerboaa
Copy link
Contributor

jerboaa commented Jan 15, 2024

@olivergillespie When applying for backports please add a description why that fix is needed in the requested release, what it's risk is and what testing you've done.

Besides, this is a fairly new change and should probably wait for 21.0.4 so that more soak time can be had in JDK 22 before backporting. For now I'll remove the jdk21u-fix-request label.

@openjdk openjdk bot removed the approval label Jan 15, 2024
@bridgekeeper
Copy link

bridgekeeper bot commented Feb 12, 2024

@olivergillespie This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@olivergillespie
Copy link
Contributor Author

/approval request Re-requesting now that it has baked in mainline for a few months, and for parity with 21.0.4-oracle. The backport fixes a performance regression in class-loading which showed up as 5-20% regression in Dacapo pmd benchmark. It is not trivial code, so there is some risk, but with the baking I think it's reasonable. No special testing performed.

@openjdk
Copy link

openjdk bot commented Mar 5, 2024

@olivergillespie
8315559: The approval request has been updated successfully.

@openjdk openjdk bot added the approval label Mar 5, 2024
@openjdk
Copy link

openjdk bot commented Mar 13, 2024

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

8315559: Delay TempSymbol cleanup to avoid symbol table churn
8321276: runtime/cds/appcds/dynamicArchive/DynamicSharedSymbols.java failed with "'17 2: jdk/test/lib/apps ' missing from stdout/stderr"

Reviewed-by: coleenp

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

  • 9e1840f: 8325613: CTW: Stale method cleanup requires GC after Sweeper removal
  • 2de8cfa: 8327799: JFR view: the "Park Until" field of jdk.ThreadPark is invalid if the parking method is not absolute
  • d1af31b: 8318757: VM_ThreadDump asserts in interleaved ObjectMonitor::deflate_monitor calls
  • cc65d0d: 8325372: Shenandoah: SIGSEGV crash in unnecessary_acquire due to LoadStore split through phi
  • 6d8d049: 8324632: Update Zlib Data Compression Library to Version 1.3.1
  • 5431b82: 8322239: [macos] a11y : java.lang.NullPointerException is thrown when focus is moved on the JTabbedPane
  • 5762df6: 8321489: Update LCMS to 2.16
  • a69c437: 8316559: Refactor some util/Calendar tests to JUnit
  • 390e647: 8313612: Use JUnit in lib-test/jdk tests
  • 539b04e: 8314832: Few runtime/os tests ignore vm flags
  • ... and 12 more: https://git.openjdk.org/jdk21u-dev/compare/c8e9f1d5d375b4594537147df05e28dda3347871...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 (@coleenp) 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).

@jerboaa
Copy link
Contributor

jerboaa commented Mar 14, 2024

@olivergillespie This looks like it'll need a backport of JDK-8321276 as well?

@olivergillespie
Copy link
Contributor Author

@jerboaa Yes, thanks for catching, sorry I missed that. I'm not sure the procedure for dependent backports, and I don't have time this week to work on it - I'll try to do so next week if that's okay. I can re-request approval once I have it figured out.

@GoeLin
Copy link
Member

GoeLin commented Mar 18, 2024

@olivergillespie, you can includ JDK-8321276 in this change (push an extra commit, add the issue with the /issue command, get a review)
If you backport this to 17, which I think is required, too, you can grab the commit from 21 and get both backported at once.

olivergillespie and others added 2 commits March 18, 2024 15:29
…failed with "'17 2: jdk/test/lib/apps ' missing from stdout/stderr"

Reviewed-by: dcubed
@openjdk openjdk bot removed the clean label Mar 18, 2024
@olivergillespie
Copy link
Contributor Author

olivergillespie commented Mar 18, 2024

Thanks!

I have added the fix for JDK-8321276 as a new commit. It applied cleanly. I confirmed that the test (make test TEST=runtime/cds/appcds/dynamicArchive/DynamicSharedSymbols.java) failed before, and passes after.

@olivergillespie
Copy link
Contributor Author

/issue JDK-8321276

@openjdk
Copy link

openjdk bot commented Mar 18, 2024

@olivergillespie
Adding additional issue to issue list: 8321276: runtime/cds/appcds/dynamicArchive/DynamicSharedSymbols.java failed with "'17 2: jdk/test/lib/apps ' missing from stdout/stderr".

@olivergillespie
Copy link
Contributor Author

@coleenp any chance you could review this as you were involved with the originals?

Copy link
Contributor

@coleenp coleenp left a comment

Choose a reason for hiding this comment

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

Yes, this looks like a clean backport of the original fix. Thank you.

@olivergillespie
Copy link
Contributor Author

2 GHA tests failing:

  1. Unrelated WhiteBoxResizeTest, fixed by 8328066: WhiteBoxResizeTest failure on linux-x86: Could not reserve enough space for 2097152KB object heap #381.
  2. Unrelated riscv64 cross-compile build issue. Failing on other PRs.

So I think it's ready to be checked for approval, @jerboaa. Thanks all.

@olivergillespie
Copy link
Contributor Author

/approval JDK-8321276 request Clean backport of test assertion fix, required for the backport of JDK-8315559. Risk is low as it is a change in a test assertion only.

@openjdk
Copy link

openjdk bot commented Mar 19, 2024

@olivergillespie
JDK-8321276: The approval request has been created successfully.

@jerboaa
Copy link
Contributor

jerboaa commented Mar 19, 2024

/approve yes

@openjdk
Copy link

openjdk bot commented Mar 19, 2024

@jerboaa
8315559: The approval request has been approved.
8321276: The approval request has been approved.

@openjdk openjdk bot added ready Pull request is ready to be integrated and removed approval labels Mar 19, 2024
@olivergillespie
Copy link
Contributor Author

/integrate

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

openjdk bot commented Mar 19, 2024

@olivergillespie
Your change (at version 8315ce6) is now ready to be sponsored by a Committer.

@coleenp
Copy link
Contributor

coleenp commented Mar 19, 2024

/sponsor

@openjdk
Copy link

openjdk bot commented Mar 19, 2024

Going to push as commit 06e4cf3.
Since your change was applied there have been 22 commits pushed to the master branch:

  • 9e1840f: 8325613: CTW: Stale method cleanup requires GC after Sweeper removal
  • 2de8cfa: 8327799: JFR view: the "Park Until" field of jdk.ThreadPark is invalid if the parking method is not absolute
  • d1af31b: 8318757: VM_ThreadDump asserts in interleaved ObjectMonitor::deflate_monitor calls
  • cc65d0d: 8325372: Shenandoah: SIGSEGV crash in unnecessary_acquire due to LoadStore split through phi
  • 6d8d049: 8324632: Update Zlib Data Compression Library to Version 1.3.1
  • 5431b82: 8322239: [macos] a11y : java.lang.NullPointerException is thrown when focus is moved on the JTabbedPane
  • 5762df6: 8321489: Update LCMS to 2.16
  • a69c437: 8316559: Refactor some util/Calendar tests to JUnit
  • 390e647: 8313612: Use JUnit in lib-test/jdk tests
  • 539b04e: 8314832: Few runtime/os tests ignore vm flags
  • ... and 12 more: https://git.openjdk.org/jdk21u-dev/compare/c8e9f1d5d375b4594537147df05e28dda3347871...master

Your commit was automatically rebased without conflicts.

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

openjdk bot commented Mar 19, 2024

@coleenp @olivergillespie Pushed as commit 06e4cf3.

💡 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