Skip to content

Reproducible build run-make tests fails if -C debuginfo=2 (on Linux this time) #89911

Open
@pnkfelix

Description

@pnkfelix

This might be a cousin of #66568, which was thought to be Mac-specific.

On my Linux box, with a config.toml that has debug=true and debuginfo-level=2, I do:

 x.py check && \
 x.py test  --stage 1 src/tools/tidy &&  \
 x.py build    --stage 1   library/std  && \
 x.py test    --stage 1    \
     src/test/{rustdoc-js,ui,run-pass-valgrind,mir-opt,codegen,codegen-units,rustdoc,rustdoc-ui,pretty,run-make,run-make-fulldeps,assembly} \
     library/core \
     library/std

After the whole thing runs, it ends up failing in the last step with:

failures:

---- [run-make] run-make-fulldeps/reproducible-build-2 stdout ----

error: make failed
status: exit status: 2
command: "make"
stdout:
------------------------------------------
rm -rf /media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2 && mkdir /media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/t\
est/run-make-fulldeps/reproducible-build-2/reproducible-build-2
LD_LIBRARY_PATH="/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2:/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/\
stage1/lib:/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/stage0/lib\
" '/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/stage1/bin/rustc' --out-dir /media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reprodu\
cible-build-2 -L /media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2  reproducible-build-aux.rs
LD_LIBRARY_PATH="/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2:/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/\
stage1/lib:/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/stage0/lib\
" '/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/stage1/bin/rustc' --out-dir /media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reprodu\
cible-build-2 -L /media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2  reproducible-build.rs -C lto=fat
cp /media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2/reproducible-build /media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux\
-gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2/reproducible-build-a
LD_LIBRARY_PATH="/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2:/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/\
stage1/lib:/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/stage0/lib\
" '/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/stage1/bin/rustc' --out-dir /media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reprodu\
cible-build-2 -L /media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2  reproducible-build.rs -C lto=fat
cmp "/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2/reproducible-build-a" "/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown\
-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2/reproducible-build" || exit 1
/media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2/reproducible-build-a /media/pnkfelix/Rust/rust.git/objdir-dbgopt/build/x86_64-unknown-linux-\
gnu/test/run-make-fulldeps/reproducible-build-2/reproducible-build-2/reproducible-build differ: byte 41, line 1

------------------------------------------
stderr:
------------------------------------------
make: *** [Makefile:17: fat_lto] Error 1

------------------------------------------



failures:
    [run-make] run-make-fulldeps/reproducible-build-2

test result: FAILED. 207 passed; 1 failed; 19 ignored; 0 measured; 0 filtered out; finished in 19.77s

I'm filing this issue to track investigation of whether this has the same root cause as #47086 and #66568 (except on Linux now), or if it is something else.


  • tests/run-make/reproducible-build
  • tests/run-make/reproducible-build-2

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)A-reproducibilityArea: Reproducible / deterministic buildsA-run-makeArea: port run-make Makefiles to rmake.rsC-bugCategory: This is a bug.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions