-
Notifications
You must be signed in to change notification settings - Fork 497
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
Rust docs broken #614
Comments
FYI @jyn514 and @GuillaumeGomez if you have any insights. |
@kennykerr have you been able to bisect this to a nightly toolchain? Or was this caused by a change to windows-rs? I still can't build windows-rs on linux, so I can't be much help unfortunately. |
Is |
Fine! I'm going to get this project building on Linux. 😎 |
I don't know - quite a lot changed on the |
I might be able to test next week if not fixed until then. |
The docs are still failing due to the issue posted in rust-lang/rust#82991. This affects cross compilation which is what docs-rs is doing. I posted a workaround for this here: #522 (comment) |
@jyn514 I have added basic Linux build support (#619): https://github.com/microsoft/windows-rs/runs/2143667658 This excludes tests (for obvious reasons) but it should at least build the |
I wonder if I can now remove this: Lines 32 to 34 in 198621c
|
On linux the workaround doesn't help, it still fails while documenting (not when building - possibly this is related to rust-lang/rust#68427):
Hopefully this will be fixed when rust-lang/rust#82991 is, if not we are in deep trouble 😅 |
Oh wait no I take it back, it happens while building too. That's a good thing, that means it doesn't need massive changes to rustdoc :) |
|
Yes, |
And that should now build on Linux. |
Hmm, it's giving me a syntax error:
|
@rylev did that work for you? I don't yet have the ability to build on Linux. |
@kennykerr in the mean time, do you mind collecting some info yourself? Just |
|
Is there a way to get a backtrace of where rustdoc gets stuck? On linux I'd use GDB, but I don't know how things work on windows.
|
|
Not sure if that means anything to you. It means nothing to me. 😜 |
I'm guessing it can't find symbols for rustdoc, which isn't very helpful. |
Looks like rustc encountered an error and that's pretty much it... Is it the full backtrace when rustdoc is stuck? |
Yep, that's the whole thing. |
It's stuck while trying to output an error then? How weird... |
@kennykerr it's hanging while parsing, before any part of rustdoc runs. Can you replicate the hang with |
|
Sorry, |
Yes, this produces the same hang. |
Seems like you have some |
Great, that should be a lot easier to bisect. The next step is to try and figure out if this is a rustc regression or a windows-rs regression. Does this work on beta? Does it work on 0.3.1 with the latest nightly? If it's a rustc regression, you can use https://github.com/rust-lang/cargo-bisect-rustc to find out where it broke. Otherwise I'd try git bisect to see if you can narrow it down somehow. |
Looks like this is the problem. For the |
Great! Can you open an issue on rust-lang/rust for that? It sounds like a bug in rustc_error itself. |
Will do. So I finally root caused this. Turns out a bug in the win32 metadata was causing the windows crate to generate bad Rust, which was causing cargo/rustc to hang while trying to emit a compiler error for a single line of Rust that spanned 180,124,983 characters. Now I'm back to watching the infuriatingly single-threaded Rust builds... 🙄 |
Thanks for all the help everyone! |
Have you tried building a custom rustc with parallel-compiler = true to see how much that helps? |
I haven't graduated to that level of Rust ninja yet... |
Time to close this issue. I have published version 0.6.0 of the
This has fixed both doc publishing issues. The @jyn514 I wasn't able to produce a minimal repro of the rustc bug where long lines causes the whole build system to hang. Anyway, hopefully now that both |
Just leaving this issue here as a few people have asked. There are two separate issues.
The Windows crate docs are broken due to this rustc bug.
The generated documentation hasn't been updated because
cargo
hangs trying to build windows-docs-rs. I seem to have hit some kind of limit, but its not clear what's wrong.rustc
allocates about 5 GB and thencargo
hangs insidegit_refdb_backend_fs
. This happens reliably. Here's a repro if you want to play along.Running out of memory while the CPU idles is kind of sad. 😢 Here is stable/night/nightly-2021-03-16 running in parallel:
In all three cases, the hang happens here:
The text was updated successfully, but these errors were encountered: