-
Notifications
You must be signed in to change notification settings - Fork 13.3k
panic when using rustdoc on NFS #40830
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
Looks like your filesystem doesn't support file locks? I know Cargo has a some logic to deal with that which should rustdoc should have as well. |
This looks a lot like a network filesystem (SMB/NFS), which indeed do not support locking. EDIT: I tried to reproduce but my remote mountpoint has a |
Yepp, it's a Samba Server on my Linux Box.
Thanks for the evaluation.
Cheers,
Matthias
Am 26.03.2017 10:52 vorm. schrieb "Simonas Kazlauskas" <
notifications@github.com>:
… Looks like your filesystem doesn't support file locks?
/Volumes/server/data
This looks a lot like a network filesystem (SMB/NFS), which indeed do not
support locking.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#40830 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAS0pfZ6-gF4MtfphphXTMSkMjTQEjUxks5rpidXgaJpZM4MpOiv>
.
|
FWIW this bug also hits "cargo doc --open" under the same circumstances. The backtrace shows that this is just running rustdoc, so it's the same thing, just later versions. I'm up to "guessing_game" in Rust Lang second edition, so it was a bit of a shock to hit breakage so soon. Yes, /User/andrew/Documents is a symlink to /Volumes/andrew, which is an SMB2 (or 3?) file share on Samba 4.7.4 running on FreeBSD-11.1-STABLE. I understand that macOS+SMB doesn't support fcntl() locks, and flock() locks are dodgy. How about using NFS-style dot-locks? Backtrace
|
Cargo is ignoring locks on NFS. Maybe we can do the same. |
Actually I am not so sure why do we need to have this lock. All crates' docs are generated in parallel, but it would be synchronized at the end of rustdoc execution. Wouldn't be possible to run write_shared() at the end, from the main thread, instead of using flock()? |
Looks like I ran into the same issue trying to compile with source on an NFS share. (Both host and NFS server running Debian Stretch.)
Impact is minimal for me as I can just move the files to a local filesystem and proceed. If there is any benefit to me providing further information, let me know. (It seems like the source of the problem is already known.) (*) I've tried code that compiles cleanly and it produces the same error. |
Not sure if this is specifically relevant to this issue, but I asked a Rust forum question about randomly failing builds on an NFS mounted volume under MacOS: https://users.rust-lang.org/t/can-rust-builds-be-done-in-an-nfs-mounted-volume/28191. The advice from @Kornel on redirecting |
It looks like
|
Hi guys - I'm still facing this issue when compiling anything hosted on my SAMBA/SMB Fileserver: This is: Stacktrace below:
|
@ms140569 that's a separate error - you're running rustc, not rustdoc, and it's an issue with incremental compilation. I'd open a new issue. I'm going to close this since it seems like the code has been fixed and no one is running into rustdoc errors. Feel free to comment if you're still seeing an issue from rustdoc (and you can't reproduce with |
Cool, thanks! Sorry for mixing these issues ... Could you send me the issue number against rustc? Cheers, Matthias |
I did:
RUST_BACKTRACE=1 cargo doc --verbose
with:
on:
and this cargofile:
and got:
HTH,
Matthias Schmidt.
Drop me a mail, if i could help: matthias dot schmidt at gmail dot com
The text was updated successfully, but these errors were encountered: