-
Notifications
You must be signed in to change notification settings - Fork 570
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
compiler wrapper trying to create temporary files in /dev #2288
Comments
Hi, what will happen if we change |
Can reproduce this with a simpler file int main(){} @Xuanwo After some tracing, this originated in server code. If there is a cache hit (inside It makes sense to put this temp file in the same directory as the actual output most of the time, but it doesn't work for EDIT: probably not. This would defeat the purpose of introducing a move because cross-device move can't be atomic. A dirtier workaround for this specific case: diff --git a/src/cache/cache.rs b/src/cache/cache.rs
index c56f522..8242167 100644
--- a/src/cache/cache.rs
+++ b/src/cache/cache.rs
@@ -207,6 +207,10 @@ impl CacheRead {
optional,
} in objects
{
+ if path == Path::new("/dev/null") {
+ debug!("Skipping output to /dev/null");
+ continue;
+ }
let dir = match path.parent() {
Some(d) => d,
None => bail!("Output file without a parent directory!"), |
why would sccache need to do this if the compilers it is wrapping doesn't? seems like an easy fix. |
I understand their justification of an atomic fs move operation, but I feel like This change originated in 16ecd0b and was subsequently moved to |
Fixes mozilla#2288 Signed-off-by: Zhang Maiyun <[email protected]>
hi,
without any additional setup or ceremony, i built HEAD with rustc/cargo 1.81.0 in gentoo and invoked sccache like the readme suggests: https://github.com/mozilla/sccache?tab=readme-ov-file#usage
i'm not a rust person, but i find it odd that sccache would attempt to make a temporary file in /dev/. a user program should never do this.
this occurred after more than 1 invocation of sccache with the same parameters. the first invocation had no error.
fbufsize.c is nothing special, just a trivial program i had laying around.
The text was updated successfully, but these errors were encountered: