x.py test: `tests/ui/process/nofile-limit.rs` fails to compile on Fedora
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
occurence of #141631 on fedora
I ran x test on clean copy of rust-lang/rust on up-to-date main branch
I expected to see this happen: all tests run successfully
Instead, this happened: tests/ui/process/nofile-limit.rs failed to compile with a link error
Meta
commit hash: 2aabf3ce0569dd7c8c2d2a27944850056dcf2566
host setup:
Up-to-date Fedora 43 with systemwide manual LLVM installation
eurydice@fedora:~$ cc --version
cc (GCC) 15.2.1 20260123 (Red Hat 15.2.1-7)
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
eurydice@fedora:~$ rustc -vV
rustc 1.97.0-nightly (8b03437a8 2026-05-12)
binary: rustc
commit-hash: 8b03437a8ffc8f8b01e62ef5fce82a37ada09b12
commit-date: 2026-05-12
host: x86_64-unknown-linux-gnu
release: 1.97.0-nightly
LLVM version: 22.1.4
eurydice@fedora:~$ uname -a
Linux fedora 7.0.4-100.fc43.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 18:45:35 UTC 2026 x86_64 GNU/Linux
my systemwide LLVM details if relevant
System LLVM installation (from llvm-config)
Path: /home/eurydice/LLVM-22.1.4-Linux-X64/bin/llvm-config
Version: 22.1.4
Prefix: /home/eurydice/LLVM-22.1.4-Linux-X64
Bindir: /home/eurydice/LLVM-22.1.4-Linux-X64/bin
Libdir: /home/eurydice/LLVM-22.1.4-Linux-X64/lib
Includedir: /home/eurydice/LLVM-22.1.4-Linux-X64/include
CMake dir: /home/eurydice/LLVM-22.1.4-Linux-X64/lib/cmake/llvm
Obj root: /home/eurydice/LLVM-22.1.4-Linux-X64
Build info:
Host target: x86_64-unknown-linux-gnu
Build system: cmake
Build mode: RELEASE
Assertions: OFF
RTTI: NO
Shared mode: static
Targets built:
AArch64
AMDGPU
ARM
AVR
BPF
Hexagon
Lanai
LoongArch
Mips
MSP430
NVPTX
PowerPC
RISCV
Sparc
SPIRV
SystemZ
VE
WebAssembly
X86
XCore
Flags:
CXX flags: -I/home/eurydice/LLVM-22.1.4-Linux-X64/include -std=c++17 -D_GNU_SOURCE -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-exceptions -fno-rtti
CPP flags: -I/home/eurydice/LLVM-22.1.4-Linux-X64/include -D_GNU_SOURCE -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
LD flags: -L/home/eurydice/LLVM-22.1.4-Linux-X64/lib
System libs: -lrt -ldl -lm -lz /usr/lib/x86_64-linux-gnu/libzstd.a -lxml2
Terminal output
eurydice@fedora:~/rustc_dev/rust$ x test tests/ui/process/nofile-limit.rs
Building bootstrap
Finished `dev` profile [unoptimized] target(s) in 0.04s
/home/eurydice/rustc_dev/rust/build/x86_64-unknown-linux-gnu/ci-llvm/bin/llvm-strip does not exist; skipping copy
Building stage1 compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
Finished `release` profile [optimized] target(s) in 0.19s
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Building stage1 lld-wrapper (stage0 -> stage1, x86_64-unknown-linux-gnu)
Finished `release` profile [optimized] target(s) in 0.09s
Building stage1 library artifacts (stage1 -> stage1, x86_64-unknown-linux-gnu)
Finished `dist` profile [optimized] target(s) in 0.02s
Building stage1 compiletest (stage0 -> stage1, x86_64-unknown-linux-gnu)
Finished `release` profile [optimized] target(s) in 0.11s
Testing stage1 with compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu)
running 1 tests
[ui] tests/ui/process/nofile-limit.rs ... F
failures:
---- [ui] tests/ui/process/nofile-limit.rs stdout ----
error: test compilation failed although it shouldn't!
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/home/eurydice/rustc_dev/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc" "/home/eurydice/rustc_dev/rust/tests/ui/process/nofile-limit.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/home/eurydice/.cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/home/eurydice/rustc_dev/rust/vendor" "--sysroot" "/home/eurydice/rustc_dev/rust/build/x86_64-unknown-linux-gnu/stage1" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "-O" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-o" "/home/eurydice/rustc_dev/rust/build/x86_64-unknown-linux-gnu/test/ui/process/nofile-limit/a" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/home/eurydice/rustc_dev/rust/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Ctarget-feature=+crt-static" "-Crpath=no" "-Crelocation-model=static"
stdout: none
--- stderr -------------------------------
error: linking with `cc` failed: exit status: 1
|
= note: "cc" "-m64" "/home/eurydice/rustc_dev/rust/build/x86_64-unknown-linux-gnu/test/ui/process/nofile-limit/rustccqmmze/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*}.rlib" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-lgcc_eh" "-lgcc" "-lc" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-L" "/home/eurydice/rustc_dev/rust/build/x86_64-unknown-linux-gnu/test/ui/process/nofile-limit/rustccqmmze/raw-dylibs" "-Wl,-Bdynamic" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/eurydice/rustc_dev/rust/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/eurydice/rustc_dev/rust/build/x86_64-unknown-linux-gnu/test/ui/process/nofile-limit/a" "-Wl,--gc-sections" "-static" "-no-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs"
= note: some arguments are omitted. use `--verbose` to show all linker arguments
= note: rust-lld: error: unable to find library -lm
rust-lld: error: unable to find library -lc
rust-lld: error: unable to find library -lc
collect2: error: ld returned 1 exit status
error: aborting due to 1 previous error
------------------------------------------
---- [ui] tests/ui/process/nofile-limit.rs stdout end ----
failures:
[ui] tests/ui/process/nofile-limit.rs
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 21201 filtered out; finished in 183.78ms
Some tests failed in compiletest suite=ui mode=ui host=x86_64-unknown-linux-gnu target=x86_64-unknown-linux-gnu
Build completed unsuccessfully in 0:00:01
eurydice@fedora:~/rustc_dev/rust$
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running x test tests/ui/process/nofile-limit.rs on Fedora and inspect the failure in tests/ui/process/nofile-limit.rs. Compare the linker and library search paths used by the test with the systemwide LLVM setup described in the report. Done means the test compiles and passes on the affected Fedora configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, compilers, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100