-
Notifications
You must be signed in to change notification settings - Fork 255
Segfault in Vec::clone during analysis pass #871
Comments
There doesn't seem to be anything interesting in the debug logs, just job queue starts and ends:
sorcery is a direct dependency of the root binary of this workspace if that's relevant. |
This may not be a regression in the latest nightly, but rather a difference between having analysis available and not? I checked out older nightlies and they seem to have the problem, and I did clean out my target directory just before this happened. |
Looks like a segfault in Vec::clone: * thread #17, stop reason = EXC_BAD_ACCESS (code=2, address=0x1231fffe0)
* frame #0: 0x00007fff5af1f18e libsystem_platform.dylib`_platform_memmove$VARIANT$Haswell + 622
frame #1: 0x000000010eadad62 libstd-28258e62c4d16cf7.dylib`_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$::clone::hecd4f9d76c928061 + 114
frame #2: 0x000000010ead9585 libstd-28258e62c4d16cf7.dylib`_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$::clone::h726cabf4e3ca7044 + 21
frame #3: 0x0000000109f4a42d rls`_$LT$core..option..Option$LT$$RF$$u27$a$u20$T$GT$$GT$::cloned::h4e177fd999085e3e + 253
frame #4: 0x0000000109fe469f rls`_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$::clone::he615a451a9bdcc76 + 239
frame #5: 0x0000000109ed7d20 rls`rls::build::rustc::rustc::h79865c83392a65b1 + 3616
frame #6: 0x0000000109e9ad6a rls`_$LT$rls..build..cargo..RlsExecutor$u20$as$u20$cargo..core..compiler..Executor$GT$::exec::h46cf566d7a7d9aaa + 11626
frame #7: 0x000000010a6dcfa1 rls`_$LT$F$u20$as$u20$cargo..core..compiler..job..FnBox$LT$A$C$$u20$R$GT$$GT$::call_box::hd9529c258378f15e + 3329
frame #8: 0x000000010a641ffd rls`_$LT$F$u20$as$u20$cargo..core..compiler..job..FnBox$LT$A$C$$u20$R$GT$$GT$::call_box::hf5f8484153e75a14 + 61
frame #9: 0x000000010a641ffd rls`_$LT$F$u20$as$u20$cargo..core..compiler..job..FnBox$LT$A$C$$u20$R$GT$$GT$::call_box::hf5f8484153e75a14 + 61
frame #10: 0x000000010a6420bf rls`cargo::core::compiler::job::Job::run::h7c549aea76e47e55 + 31
frame #11: 0x000000010a65072b rls`_$LT$F$u20$as$u20$crossbeam..FnBox$GT$::call_box::hfb9802c95d8f7c79 + 187
frame #12: 0x000000010eaa504f libstd-28258e62c4d16cf7.dylib`__rust_maybe_catch_panic + 31
frame #13: 0x000000010a858542 rls`_$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::h2333c649ab02dba2 + 146
frame #14: 0x000000010ea921c8 libstd-28258e62c4d16cf7.dylib`std::sys_common::thread::start_thread::h36843e6546b9b405 + 136
frame #15: 0x000000010ea66649 libstd-28258e62c4d16cf7.dylib`std::sys::unix::thread::Thread::new::thread_start::hee8a38e1bb8b4b30 + 9
frame #16: 0x00007fff5af25661 libsystem_pthread.dylib`_pthread_body + 340
frame #17: 0x00007fff5af2550d libsystem_pthread.dylib`_pthread_start + 377
frame #18: 0x00007fff5af24bf9 libsystem_pthread.dylib`thread_start + 13 |
I built a local copy of RLS with debuginfo to try to get a better stacktrace, and things seem to be much happier with it - It's using 200MB of RAM rather than 8GB and finishes analysis just fine. Was something fixed between the nightly RLS and master? |
Using nightly-x86_64-pc-windows-msvc updated - rustc 1.27.0-nightly (f0fdaba04 2018-05-15) in vscode-rls
using master I got:
|
I'm seeing this issue as well on I reverted back to (arbitrarily) |
Same problem, reverting to |
It's still broken for me. After |
Hopefully this should be fixed in today's nightly (2018-05-16). |
@nrc thank you! Confirmed that rls appears stable for me on:
@whmountains you may need to explicitly configure the channel to use. for example, in vscode:
that said, plain old |
Yep, things seem to be working again with the new nightly! |
…r=Xanewok Bump tokio-timer from 0.2.9 to 0.2.10 Bumps [tokio-timer](https://github.com/tokio-rs/tokio) from 0.2.9 to 0.2.10. <details> <summary>Commits</summary> - [`a69aca8`](tokio-rs/tokio@a69aca8) Bump tokio-timer v0.2.10 ([#886](https://github-redirect.dependabot.com/tokio-rs/tokio/issues/886)) - [`13c9618`](tokio-rs/tokio@13c9618) tokio-timer: Fix multi reset DelayQueue bug ([#871](https://github-redirect.dependabot.com/tokio-rs/tokio/issues/871)) - [`61d4aa9`](tokio-rs/tokio@61d4aa9) docs: replace `Prepends` with `Appends` ([#882](https://github-redirect.dependabot.com/tokio-rs/tokio/issues/882)) - [`9d6d142`](tokio-rs/tokio@9d6d142) Bump tokio-sync v0.1.1 ([#881](https://github-redirect.dependabot.com/tokio-rs/tokio/issues/881)) - [`95b0eec`](tokio-rs/tokio@95b0eec) sync: bounded channel can not have 0 size ([#879](https://github-redirect.dependabot.com/tokio-rs/tokio/issues/879)) - [`e1a07ce`](tokio-rs/tokio@e1a07ce) threadpool: update crossbeam dependencies ([#874](https://github-redirect.dependabot.com/tokio-rs/tokio/issues/874)) - See full diff in [compare view](tokio-rs/tokio@tokio-timer-0.2.9...tokio-timer-0.2.10) </details> <br /> [](https://dependabot.com/compatibility-score.html?dependency-name=tokio-timer&package-manager=cargo&previous-version=0.2.9&new-version=0.2.10) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in the `.dependabot/config.yml` file in this repo: - Update frequency (including time of day and day of week) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired) Finally, you can contact us by mentioning @dependabot. </details>
After upgrading to the new nightly, RLS seems to be processing through crates in my dependency graph as usual, but then eventually gets stuck on some crate and allocates memory until OSX decides it has to hard reboot (!).
The text was updated successfully, but these errors were encountered: