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

[beta API Doc] Broken links in fmt module #30477

Closed
phil-opp opened this issue Dec 19, 2015 · 16 comments
Closed

[beta API Doc] Broken links in fmt module #30477

phil-opp opened this issue Dec 19, 2015 · 16 comments
Assignees
Labels
regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Comments

@phil-opp
Copy link
Contributor

The formatting trait links are broken (except for Display and UpperExp): https://doc.rust-lang.org/nightly/std/fmt/#formatting-traits

Update: It seems like this was fixed on nighly. But the beta docs still have this issue.

And the link to debug_struct in the core::Debug doc seems broken, too: https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#examples (source: https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#359)

@shahn
Copy link
Contributor

shahn commented Dec 20, 2015

This is an issue that affects beta as well, looking for the cause/a fix.

@sfackler
Copy link
Member

This appears to be a rustdoc issue rather than a docs issue - documentation for all but two of the formatting traits have disappeared.

@sfackler sfackler added T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. regression-from-stable-to-beta Performance or correctness regression from stable to beta. and removed A-docs labels Dec 20, 2015
@petrochenkov
Copy link
Contributor

If something disappeared from the docs, then it may be related to #30213 (or may be not).

@phil-opp
Copy link
Contributor Author

It seems like the formatting trait links were fixed in nightly. But the beta docs still have this issue. I will update the description.

@steveklabnik steveklabnik changed the title [Nightly API Doc] Broken links in fmt module [beta API Doc] Broken links in fmt module Dec 24, 2015
@steveklabnik
Copy link
Member

@brson @alexcrichton is this severe enough to justify a backport fix to beta? I'm not sure.

@sfackler
Copy link
Member

This seems like a case where we'd want to backport the fix, but does anyone know exactly what that is yet?

@brson
Copy link
Contributor

brson commented Dec 28, 2015

I'm ok backporting if somebody finds the fix.

Manishearth added a commit to Manishearth/rust that referenced this issue Dec 29, 2015
steveklabnik added a commit to steveklabnik/rust that referenced this issue Dec 29, 2015
steveklabnik added a commit to steveklabnik/rust that referenced this issue Dec 29, 2015
@brson
Copy link
Contributor

brson commented Jan 6, 2016

Could do a bisection to figure out what patch fixed it on nightly.

@brson brson self-assigned this Jan 7, 2016
@shahn
Copy link
Contributor

shahn commented Jan 9, 2016

I'm running a bisect now, let me know if you've already started doing that and I'll stop. Otherwise if you want I can take this off of you.

@shahn
Copy link
Contributor

shahn commented Jan 9, 2016

Hrm, since I cannot reproduce that nightly actually fixes this issue for me locally, I have to retract my offer of fixing this. Currently looking for someone who would be able to tell me how exactly the docs on rust-lang are built and deployed :/

@shahn
Copy link
Contributor

shahn commented Jan 10, 2016

Ouch, this is annoying. Whether the files get built depends on configure arguments. Compiling the current nightly code with ./configure without --release-channel argument (default is dev) or using =beta means this bug is present, building it with --release-channel=nightly fixes it.

Building the current beta code with --release-channel=nightly also produces the files in std, which explains why my bisect attempts led to only "bad" commits. I'm currently bisecting between stable and beta, to figure out when using --release-channel=beta stopped producing the files.

@shahn
Copy link
Contributor

shahn commented Jan 10, 2016

Ok, I'm not getting further here. The bisect gives non-deterministic results, at least in the way I'm doing my testing. This is what I did:

git checkout . && git clean -fdx && git submodule update
./configure --disable-valgrind --release-channel=beta && make -j8 doc
ls doc/std/fmt/trait.Octal.html

depending on the output of find (whether the file exists or not) I'm declaring a revision to be good or bad. But following this exact procedure, I have gotten both a "good" and a "bad" result for the commits 8bc43ed and 1099af7. I wonder if the current situation with beta being broken and nightly being fixed is mere coincidence, or if my testing methodology is flawed.

@brson
Copy link
Contributor

brson commented Jan 11, 2016

So it might be that this bug is not fixed on nightly and it's just non-deterministic. @shahn was doing builds with -j so I wonder if parallelism is introducing something non-deterministic.

@shahn
Copy link
Contributor

shahn commented Jan 12, 2016

I retried without -j now. I built the beta tag with --release-channel=beta for configure and a plain 'make'. Once I had the extra docs made. I ran the same thing again, they did not get created.

@shahn
Copy link
Contributor

shahn commented Jan 12, 2016

Another observation, if they weren't built the first time even an explicit "make doc" does not build them

@ghost
Copy link

ghost commented Jan 12, 2016

Seeing as this is seems to be a problem with the rustdoc binary, I tried bisecting by installing nightlies through multirust and running rustdoc on libstd manually. Each build seems deterministic by itself, but which files are omitted changes between builds (I don't understand why only fmt seems to be affected though).

It seems that everything is fine up until 2015-11-26 and then 2015-11-27 onwards is broken. So the problem is likely somewhere in the range 1805bba...1727dee. That includes #30043 though so there are quite a lot of changes.

@ghost ghost mentioned this issue Jan 13, 2016
bors added a commit that referenced this issue Jan 13, 2016
Fixes #30477, #30213.

The loop over reexports used to be a closure before #30043 but it's an iterator now so it should just continue instead of exiting the loop and skipping stuff.

r? @brson
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
regression-from-stable-to-beta Performance or correctness regression from stable to beta. 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

7 participants