-
Notifications
You must be signed in to change notification settings - Fork 6.2k
8292647: javac/lambda/T8031967.java fails with StackOverflowError when use -XX:TieredStopAtLevel=3 on aarch64 and LoongArch #9934
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
Conversation
|
👋 Welcome back sunny868! A progress list of the required criteria for merging this PR into |
…n use -XX:TieredStopAtLevel=3 on aarch64 and LoongArch
|
RFR |
Webrevs
|
|
I'm not at all sure about this one. |
I do not have a particularly good idear to locate this problem On the x64 platform, tier4 needs at least set For safety, I set to |
|
Have you tried with |
I don't think so. If we were making automobiles and our model consumed 40% more fuel than our competitor's, our response would not be to solve the problem by fitting a larger fuel tank. The stack layout of AArch64 is, as close as we can make it, identical to that of x86-64. So, this difference in memory use is not expected and should be investigated. |
Thanks. I had tried with |
|
@theRealAph Do you have any good ways to observe the use of X86 and AArch64 stack space? |
If it were me: |
|
@sunny868 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! |
|
@sunny868 This pull request has been inactive for more than 8 weeks and will now be automatically closed. If you would like to continue working on this pull request in the future, feel free to reopen it! This can be done using the |
@theRealAph I tested and found that some large methods use more spill code on LoongArch64 architectures than x86_64 architectures, which results in larger stack space requests. Here, var |
|
/open |
|
@sunny868 This pull request is now open |
…n use -XX:TieredStopAtLevel=3 on aarch64 and LoongArch
|
@sunny868 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. |
|
Please help review this patch again, thank you all. |
|
How can I reproduce this? I tried |
|
I don't remember on which version I tested it for aarch64, I'll confirm again. |
|
Seems like an issue about the JIT compiler. So it is good to CC hotspot-compiler mailing list. /cc hotspot-compiler |
|
@lgxbslgx |
|
Sorry, I can't confirm which version reproduces the issue on aarch64. But the conclusion that aarch64 requires more stack space than x86_64 holds. i.e. For x86_64 For aarch64 |
|
And I found the above difference comes from the different ways in which framesize is calculated. |
|
I think the |
|
After #12548, this test can be passed. |
Thanks @theRealAph @nick-arm @lgxbslgx for review. As #12548 had merged, I close this PR. |
make images run-test TEST=tools/javac/lambda/T8031967.java will fails with StackOverflowError when I use args JTREG="VM_OPTIONS=-XX:TieredStopAtLevel=3" on aarch64 and LoongArch. So the stack size
-Xss10mneeds to be increased to improve the robustness of the testcase.Progress
Issue
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk pull/9934/head:pull/9934$ git checkout pull/9934Update a local copy of the PR:
$ git checkout pull/9934$ git pull https://git.openjdk.org/jdk pull/9934/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 9934View PR using the GUI difftool:
$ git pr show -t 9934Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/9934.diff