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

8264752: SIGFPE crash with option FlightRecorderOptions:threadbuffersize=30M #52

Closed
wants to merge 3 commits into from

Conversation

@huishi-hs
Copy link

@huishi-hs huishi-hs commented Jun 22, 2021

Please help review backport of JDK-8264752 related to JFR.
This backport also includes successive build failure fix JDK-8266206 (for older gcc version).

Applied almost cleanly on jdk11u, except copyright year in license and ClassFileInstaller build/use in test/jdk/jdk/jfr/startupargs/TestBadOptionValues.java.

Tested on Linux X64 tier1/tier2/tier3 release/fastdebug no regression. test/jdk/jdk/jfr test pass with release/fastdebug.
New test added in this PR also pass.


Progress

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

Issues

  • JDK-8264752: SIGFPE crash with option FlightRecorderOptions:threadbuffersize=30M
  • JDK-8266206: Build failure after JDK-8264752 with older GCCs

Reviewers

Reviewing

Using git

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

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 52

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

Using diff file

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

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Jun 22, 2021

👋 Welcome back hshi! 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 377b346189c7cff9c8d535c3a6980f86669a95a0 8264752: SIGFPE crash with option FlightRecorderOptions:threadbuffersize=30M Jun 22, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Jun 22, 2021

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

@mlbridge
Copy link

@mlbridge mlbridge bot commented Jun 22, 2021

Webrevs

Copy link
Contributor

@eastig eastig left a comment

LGTM

@RealCLanger
Copy link
Contributor

@RealCLanger RealCLanger commented Jun 22, 2021

/issue JDK-8266206

@openjdk
Copy link

@openjdk openjdk bot commented Jun 22, 2021

@RealCLanger Only the author (@huishi-hs) is allowed to issue the /issue command.

@RealCLanger
Copy link
Contributor

@RealCLanger RealCLanger commented Jun 22, 2021

@huishi-hs, I would prefer to see JDK-8266206 backported in a separate PR/commit. Is that possible?
Otherwise, please add issue JDK-8266206 as I tried to do above. And, in any case, please request its backport via JBS.

Thanks!

@huishi-hs
Copy link
Author

@huishi-hs huishi-hs commented Jun 23, 2021

@RealCLanger Thanks!

In my understanding, you prefer two separate PRs for JDK-8264752 and JDK-8266206 backport. The second one must base on the first one and two must be integrated at same time.

Is there any instructions for backporting in this way?

@RealCLanger
Copy link
Contributor

@RealCLanger RealCLanger commented Jun 23, 2021

In my understanding, you prefer two separate PRs for JDK-8264752 and JDK-8266206 backport. The second one must base on the first one and two must be integrated at same time.

Is there any instructions for backporting in this way?

Your understanding is correct. Unfortunately it is not possible with GitHub/Skara to merge two commits in one PR. Those would automatically be squashed.
So, I suggest to use two separate PRs and create/merge the second PR right after the first one. Maybe the build fix would apply clean and can immediately be merged without reviewer? If not, I can review it in github quickly, just @ me. In any case I'll approve both at once in JBS.

@huishi-hs
Copy link
Author

@huishi-hs huishi-hs commented Jun 23, 2021

In my understanding, you prefer two separate PRs for JDK-8264752 and JDK-8266206 backport. The second one must base on the first one and two must be integrated at same time.
Is there any instructions for backporting in this way?

Your understanding is correct. Unfortunately it is not possible with GitHub/Skara to merge two commits in one PR. Those would automatically be squashed.
So, I suggest to use two separate PRs and create/merge the second PR right after the first one. Maybe the build fix would apply clean and can immediately be merged without reviewer? If not, I can review it in github quickly, just @ me. In any case I'll approve both at once in JBS.

@RealCLanger Thanks for your detail description!

After removing JDK-8266206 change, it fails build on jdk11u-dev. However it doesn't fail when removing JDK-8266206 change and build on jdk17. Build on same machine with same gcc verison 7.5.0.

This PR is updated to backport of JDK-8264752 only and I have tested JDK-8266206's change can apply cleanly.
https://bugs.openjdk.java.net/browse/JDK-8266206 jdk11u-fix-request label is added.

@huishi-hs
Copy link
Author

@huishi-hs huishi-hs commented Jun 23, 2021

The safest way might combine these two commit integrated at same time.

@huishi-hs
Copy link
Author

@huishi-hs huishi-hs commented Jun 25, 2021

/issue JDK-8266206

@openjdk
Copy link

@openjdk openjdk bot commented Jun 25, 2021

@huishi-hs
Adding additional issue to issue list: 8266206: Build failure after JDK-8264752 with older GCCs.

@huishi-hs
Copy link
Author

@huishi-hs huishi-hs commented Jun 25, 2021

@RealCLanger JDK-8266206 issue is added, could you please review this PR again?

Copy link
Contributor

@RealCLanger RealCLanger left a comment

This looks good now. I think it is the best to merge these two patches at once, accepting they get squashed. If you'd take the original change for JDK-8264752 only the build would break. I verified this and I also verified that no regressions occur in our internal test systems. Good to go. :)

@openjdk
Copy link

@openjdk openjdk bot commented Jun 25, 2021

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

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

8264752: SIGFPE crash with option FlightRecorderOptions:threadbuffersize=30M
8266206: Build failure after JDK-8264752 with older GCCs

Reviewed-by: clanger

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:

  • c39f3f7: 8193214: Incorrect annotations.without.processors warnings with JDK 9
  • 34d1c92: 8231717: Improve performance of charset decoding when charset is always compactable
  • 48c1f60: 8263227: C2: inconsistent spilling due to dead nodes in exception block
  • dcd1044: 8265773: incorrect jdeps message "jdk8internals" to describe a removed JDK internal API
  • ed48e5c: 8226533: JVMCI: findUniqueConcreteMethod should handle statically bindable methods directly
  • 8d5b37a: 8223050: JVMCI: findUniqueConcreteMethod() should not use Dependencies::find_unique_concrete_method() for non-virtual methods
  • 3f67b07: 8267751: (test) jtreg.SkippedException has no serial VersionUID
  • 46fd6d2: 8263382: java/util/logging/ParentLoggersTest.java failed with "checkLoggers: getLoggerNames() returned unexpected loggers"
  • 881100f: 8233989: Create an IPv4 version of java/net/MulticastSocket/SetLoopbackMode.java

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. Possible candidates are the reviewers of this PR (@RealCLanger) 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 added the ready label Jun 25, 2021
@huishi-hs
Copy link
Author

@huishi-hs huishi-hs commented Jun 25, 2021

Thanks for yoru review and test verify!

@huishi-hs
Copy link
Author

@huishi-hs huishi-hs commented Jun 25, 2021

/integrate

@openjdk openjdk bot added the sponsor label Jun 25, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Jun 25, 2021

@huishi-hs
Your change (at version 0232471) is now ready to be sponsored by a Committer.

@RealCLanger
Copy link
Contributor

@RealCLanger RealCLanger commented Jun 25, 2021

/sponsor

@openjdk
Copy link

@openjdk openjdk bot commented Jun 25, 2021

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

  • c39f3f7: 8193214: Incorrect annotations.without.processors warnings with JDK 9
  • 34d1c92: 8231717: Improve performance of charset decoding when charset is always compactable
  • 48c1f60: 8263227: C2: inconsistent spilling due to dead nodes in exception block
  • dcd1044: 8265773: incorrect jdeps message "jdk8internals" to describe a removed JDK internal API
  • ed48e5c: 8226533: JVMCI: findUniqueConcreteMethod should handle statically bindable methods directly
  • 8d5b37a: 8223050: JVMCI: findUniqueConcreteMethod() should not use Dependencies::find_unique_concrete_method() for non-virtual methods
  • 3f67b07: 8267751: (test) jtreg.SkippedException has no serial VersionUID
  • 46fd6d2: 8263382: java/util/logging/ParentLoggersTest.java failed with "checkLoggers: getLoggerNames() returned unexpected loggers"
  • 881100f: 8233989: Create an IPv4 version of java/net/MulticastSocket/SetLoopbackMode.java

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot closed this Jun 25, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Jun 25, 2021

@RealCLanger @huishi-hs Pushed as commit df587c7.

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

@huishi-hs huishi-hs deleted the backport-377b3461 branch Aug 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
3 participants