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

Bump stack size to 32MB #56467

Merged
merged 1 commit into from
Dec 4, 2018
Merged

Bump stack size to 32MB #56467

merged 1 commit into from
Dec 4, 2018

Conversation

oli-obk
Copy link
Contributor

@oli-obk oli-obk commented Dec 3, 2018

cc #55471

A short term solution (really this time! Full fix being grown in #55617) for stack overflows due to deeply recursive syntax trees.

r? @nagisa

cc @alexcrichton @eddyb @michaelwoerister @pietroalbini

@oli-obk oli-obk added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Dec 3, 2018
@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 3, 2018
@nagisa
Copy link
Member

nagisa commented Dec 3, 2018

@bors r=me

cc @rust-lang/compiler we want to beta-accept this ASAP, to give people more time to do the actual backport. Beta is being released in Friday, so there isn’t enough time until the meeting.

@oli-obk can you make a PR against beta as well?

@nagisa
Copy link
Member

nagisa commented Dec 3, 2018

@bors r+

Ahem.

@bors
Copy link
Contributor

bors commented Dec 3, 2018

📌 Commit db64f60 has been approved by nagisa

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 3, 2018
@nagisa
Copy link
Member

nagisa commented Dec 3, 2018

@gnzlbg can you confirm this fixes stack overflow you observed?

@gnzlbg
Copy link
Contributor

gnzlbg commented Dec 3, 2018

Not really, I was only able to hit this issue on travis-CI with the osx_image: xcode6.4 only, and I don't think I can build a toolchain with this PR there and give it a try in the 50 minutes that travis provides time =/

If this fix hits nightly let me know and I can schedule a build of the mach crate to see if the issue is still there.

@oli-obk
Copy link
Contributor Author

oli-obk commented Dec 3, 2018

Maybe we can get it into tomorrow's nightly

Bumping priority

@bors p=1

@pietroalbini
Copy link
Member

Wait, do you mean to ship this in 1.31? The PR for the beta promotion is happening today.

@nagisa
Copy link
Member

nagisa commented Dec 3, 2018

@pietroalbini yes, it would be great if we could include the beta PR for 1.31 before the promotion happens (or possibly along with the promotion?)

@pietroalbini
Copy link
Member

cc @Mark-Simulacrum

@bors
Copy link
Contributor

bors commented Dec 3, 2018

⌛ Testing commit db64f60 with merge 529619267b4fa2c8224eb9579395a3f80be9f083...

@alexcrichton
Copy link
Member

@bors: retry

giving priority to the stable release

@bors
Copy link
Contributor

bors commented Dec 3, 2018

⌛ Testing commit db64f60 with merge 53426cc1678a42908c32dce1d180a64fa356f675...

@bors
Copy link
Contributor

bors commented Dec 3, 2018

💔 Test failed - status-travis

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-apple of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:02:50]       Memory: 8 GB
[00:02:50]       Boot ROM Version: VMW71.00V.0.B64.1704110547
[00:02:50]       Apple ROM Info: [MS_VM_CERT/SHA1/27d66596a61c48dd3dc7216fd715126e33f59ae7]Welcome to the Virtual Machine
[00:02:50]       SMC Version (system): 2.8f0
[00:02:50]       Serial Number (system): VM8ONClChkSn
[00:02:50] 
[00:02:50] hw.ncpu: 4
[00:02:50] hw.byteorder: 1234
[00:02:50] hw.memsize: 8589934592
---
Building stage2 tool cargo (x86_64-apple-darwin)
[01:18:18]  Downloading crates ...
[01:18:18] warning: spurious network error (2 tries remaining): [6] Couldn't resolve host name (Could not resolve host: crates.io)
[01:18:18] warning: spurious network error (1 tries remaining): [6] Couldn't resolve host name (Could not resolve host: crates.io)
[01:18:18] error: failed to download from `https://crates.io/api/v1/crates/openssl-src/111.0.1+1.1.1/download`
[01:18:18] Caused by:
[01:18:18]   [6] Couldn't resolve host name (Could not resolve host: crates.io)
[01:18:18] command did not execute successfully: "/Users/travis/build/rust-lang/rust/build/x86_64-apple-darwin/stage0/bin/cargo" "build" "--target" "x86_64-apple-darwin" "-j" "4" "--release" "--locked" "--color" "always" "--manifest-path" "/Users/travis/build/rust-lang/rust/src/tools/cargo/Cargo.toml" "--features" "rustc-workspace-hack/all-static" "--message-format" "json"
[01:18:18] expected success, got: exit code: 101
[01:18:18] expected success, got: exit code: 101
[01:18:18] failed to run: /Users/travis/build/rust-lang/rust/build/bootstrap/debug/bootstrap build
[01:18:18] Build completed unsuccessfully in 1:13:49
[01:18:18] make: *** [all] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:027b7067
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Mon Dec  3 22:35:56 GMT 2018
---
travis_fold:start:after_failure.2
travis_time:start:1ead19d8
$ ls -lat $HOME/Library/Logs/DiagnosticReports/
total 0
drwx------+ 15 travis  staff  510 Jan 25  2018 ..
drwx------   2 travis  staff   68 Dec  6  2017 .
travis_fold:end:after_failure.2
travis_fold:start:after_failure.3
travis_time:start:01ccb492
$ find $HOME/Library/Logs/DiagnosticReports -type f -name '*.crash' -not -name '*.stage2-*.crash' -not -name 'com.apple.CoreSimulator.CoreSimulatorService-*.crash' -exec printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" {} \; -exec head -750 {} \; -exec echo travis_fold":"end:crashlog \; || true
$ find $HOME/Library/Logs/DiagnosticReports -type f -name '*.crash' -not -name '*.stage2-*.crash' -not -name 'com.apple.CoreSimulator.CoreSimulatorService-*.crash' -exec printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" {} \; -exec head -750 {} \; -exec echo travis_fold":"end:crashlog \; || true
travis_time:end:01ccb492:start=1543876562564383000,finish=1543876562586593000,duration=22210000
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:061faccb
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:14c0e360
travis_time:start:14c0e360
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:1da884e8
$ dmesg | grep -i kill
$ dmesg | grep -i kill
Unable to obtain kernel buffer: Operation not permitted
usage: sudo dmesg
travis_fold:end:after_failure.6

Done. Your build exited with 1.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Dec 3, 2018
@alexcrichton
Copy link
Member

@bors: retry

network issues

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 3, 2018
@bors
Copy link
Contributor

bors commented Dec 4, 2018

⌛ Testing commit db64f60 with merge 5912a69...

bors added a commit that referenced this pull request Dec 4, 2018
Bump stack size to 32MB

cc #55471

A short term solution (really this time! Full fix being grown in #55617) for stack overflows due to deeply recursive syntax trees.

r? @nagisa

cc @alexcrichton @eddyb @michaelwoerister @pietroalbini
@bors
Copy link
Contributor

bors commented Dec 4, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: nagisa
Pushing 5912a69 to master...

@bors bors merged commit db64f60 into rust-lang:master Dec 4, 2018
@pietroalbini pietroalbini added stable-nominated Nominated for backporting to the compiler in the stable channel. stable-accepted Accepted for backporting to the compiler in the stable channel. and removed beta-nominated Nominated for backporting to the compiler in the beta channel. labels Dec 4, 2018
@pietroalbini
Copy link
Member

This is going to be included in the 1.31.0 release: #56518

@pietroalbini pietroalbini removed the stable-nominated Nominated for backporting to the compiler in the stable channel. label Dec 4, 2018
bors added a commit that referenced this pull request Dec 4, 2018
[stable] Add a few critical fixes to the 1.31.0 release

This PR cherry-picks the following PRs to stable:

* #56467: Bump stack size to 32MB
* #56486: Propagate all closure requirements to the caller
* #56519: update edition guide

The changes will be included in the final 1.31.0 binary (to avoid a point release). To deploy the build to dev-static the old manifest needs to be removed from the bucket after the PR is merged.

cc @rust-lang/core @rust-lang/release @rust-lang/compiler
r? @alexcrichton
@gnzlbg
Copy link
Contributor

gnzlbg commented Dec 5, 2018

Did this land on nightly already ?

@pietroalbini
Copy link
Member

Should have been, yeah.

@gnzlbg
Copy link
Contributor

gnzlbg commented Dec 5, 2018

So I still get a stack overflow using the latest nightly: https://travis-ci.org/gnzlbg/mach/jobs/463833417#L398 - rustc 1.32.0-nightly (b3af092 2018-12-04)

@oli-obk oli-obk deleted the osx_stack_bump branch December 6, 2018 07:40
@oli-obk
Copy link
Contributor Author

oli-obk commented Dec 6, 2018

@gnzlbg can you try setting RUST_MIN_STACK=32000000 and run again? That might work as a workaround until we have the proper fix in place

@gnzlbg
Copy link
Contributor

gnzlbg commented Dec 6, 2018

Can you try setting RUST_MIN_STACK=32000000 and run again?

Yes, that did work.

@gnzlbg
Copy link
Contributor

gnzlbg commented Dec 13, 2018

@oli-obk @pnkfelix what's the proper fix here ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. stable-accepted Accepted for backporting to the compiler in the stable channel.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants