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

Regression on nightly: doctest on recursion_limit crashes rustdoc #32445

Closed
nodakai opened this issue Mar 23, 2016 · 8 comments
Closed

Regression on nightly: doctest on recursion_limit crashes rustdoc #32445

nodakai opened this issue Mar 23, 2016 · 8 comments
Labels
P-medium Medium priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Comments

@nodakai
Copy link
Contributor

nodakai commented Mar 23, 2016

```compile_fail
#![recursion_limit="2"]

struct Foo;

impl Foo {
    fn foo(&self) {}
}

fn main() {
    let foo = Foo;
    let ref_foo = &&Foo;

    // error, reached the recursion limit while auto-dereferencing &&Foo
    ref_foo.foo();
}
```

It was extracted from doc/error-index.md.

$ multirust run stable rustdoc --test ~tmp/reclim.md

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured

$ multirust run stable rustdoc --version
rustdoc 1.7.0 (a5d1e7a59 2016-02-29)
$ multirust run beta rustdoc --test ~tmp/reclim.md

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured

$ multirust run beta rustdoc --version
rustdoc 1.8.0-beta.1 (facbfdd71 2016-03-02)
$ multirust run nightly rustdoc --test ~tmp/reclim.md

running 1 test
thread panicked while panicking. aborting.
zsh: illegal hardware instruction  multirust run nightly rustdoc --test ~tmp/reclim.md
$ multirust run nightly rustdoc --version
rustdoc 1.9.0-nightly (21922e1f4 2016-03-21)

Due to this crash, I couldn't run make check-docs on Git HEAD. (related: #31587 )

@alexcrichton alexcrichton added the regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. label Mar 23, 2016
@nikomatsakis
Copy link
Contributor

cc @brson

@nikomatsakis
Copy link
Contributor

This is presumably specific to compile-fail?

@nikomatsakis
Copy link
Contributor

triage: P-high

@rust-highfive rust-highfive added the P-high High priority label Apr 7, 2016
@nikomatsakis
Copy link
Contributor

The illegal instruction is worrisome, might be stack overflow or something though?

@nikomatsakis
Copy link
Contributor

Ah, I see it a double panic.

@alexcrichton
Copy link
Member

To me this may not necessarily warrant P-high, the only way to trigger this is using #![recursion_limit] in a documentation test which seems... quite unlikely.

@brson brson added regression-from-stable-to-beta Performance or correctness regression from stable to beta. P-medium Medium priority T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. regression-from-stable-to-stable Performance or correctness regression from one stable version to another. and removed regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. P-high High priority regression-from-stable-to-beta Performance or correctness regression from stable to beta. labels Jun 23, 2016
@jonas-schievink
Copy link
Contributor

I can't seem to reproduce this issue on current stable, beta nor nightly (on 64-bit Linux, in case it matters)

@brson
Copy link
Contributor

brson commented Sep 13, 2016

Closing as unreproducible. Feel free to reopen if somebody repros.

@brson brson closed this as completed Sep 13, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P-medium Medium priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

6 participants