rust-lang / rust-lang/rust

x.py test: `tests/ui/process/nofile-limit.rs` fails to compile on Fedora

Open
#156,526 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-testsuite C-discussion O-linux-gnu
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.