-
Notifications
You must be signed in to change notification settings - Fork 13.3k
rustdoc error: thread 'rustc' has overflowed its stack #76770
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
Comments
I can't build your project. Is there anyway you could narrow this down even a little? Dependencies are fine as long as I can reproduce.
|
Alternatively if you could get a backtrace with |
@jyn514 have you installed git-lfs on your machine ?
|
@jyn514 hi, i added a backtrace to the first post of this issue from |
I managed to reproduce:
|
|
Note that this still occurs on the |
on the latest nightly it compiles for me and reproduces with the
|
simplified to // lib.rs
#![recursion_limit = "2048"]
pub use vek::vec::repr_c:Vec2; [dependencies]
# present with all later releases of vek (older releases no longer compile due to borrow checker fixes)
vek = "=0.9.8" |
Oh that's interesting, it compiles fine without the recursion limit but crashes with it. I wonder why it doesn't give an error without. |
Relevant code: rust/src/librustdoc/clean/blanket_impl.rs Lines 65 to 72 in 085e417
I don't think this is actually a rustdoc bug, it's somewhere in rustc. |
You can get the same overflow with rustc by triggering the same predicate evaluation manually: #![recursion_limit = "3000"]
pub use vek::vec::repr_c::Vec2;
fn is_average<T: num_integer::Average>() {}
fn foo<T>() {
is_average::<Vec2<T>>();
}
fn main() {}
gives the following error:
|
I haven't been able to come up with a minimized test case for rust-lang#76770, but this fixes a stack overflow in rustc as well.
… r=Mark-Simulacrum Wrap recursive predicate evaluation with `ensure_sufficient_stack` I haven't been able to come up with a minimized test case for rust-lang#76770, but this fixes a stack overflow in rustc as well.
This is fixed on the latest nightly. |
This still needs a test |
I'm going to close this. It's been 3 years and nobody has made an MCVE of this. |
Code
I tried to find a minimal reproduceable error, but i was not successful.
The error happens when using rustdoc on veloren.
Repo: https://gitlab.com/veloren/veloren.git
commit:
sharp/lod-history~65
with iddb1401a6910bf42dcf502462c90038752ff5fbdb
Additional Info:
This commit is a Merge commit. It's parents are both
69e508d8c94d8973033817ca86f357e466fc7c4d
ande8b4b29d708cd86bb960aa2f94f497ecb63332a7
. Interestingly the error does NOT occur on any of its parents. So only the combination or conflict resolution seems to cause this bug!We have a
Cargo.lock
file and arust-toolchain
flag, which should make reproducing this exact problem easyMeta
rustc --version --verbose
:WARNING! WE ARE USING A RUST-TOOLCHAIN FILE WITH VERSION
nightly-2020-06-22
But it still exists in newerError output
Details, copied out from above
Backtrace
...
The text was updated successfully, but these errors were encountered: