Skip to content

1.87 Regression: s390x-unknown-linux-gnu release build gets stuck #141287

Open
@konstin

Description

@konstin

When upgrading https://github.com/astral-sh/uv (at 7f3e94a091f9f65b778ccc9ba7271887fad143c8) from Rust 1.86 to Rust 1.87, we found that the s390x-unknown-linux-gnu release build would get stuck at 100% CPU and never finish.

I expected to see this happen: cargo +1.87 build --target s390x-unknown-linux-gnu --release finishes

Instead, this happened: cargo +1.87 build --target s390x-unknown-linux-gnu --release gets stuck on 100% CPU

We discovered this in CI, where we're running on the native platform through docker and QEMU, but I can also reproduce this locally using zigbuild:

# Finishes after ~8min
cargo +1.86 zigbuild --target s390x-unknown-linux-gnu --release
# Doesn't finish at all
cargo +1.87 zigbuild --target s390x-unknown-linux-gnu --release

I can't use cargo build due to an unrelated error on both 1.86 and 1.87 (Relocations in generic ELF (EM: 22)). Debug builds pass on both versions. Unfortunately I can't provide an MRE as a passing build takes several minutes each time and a non-passing one gets stuck, making non-targeted minimization infeasible.

Version it worked on

It most recently worked on: rustc +1.86 --version --verbose:

rustc +1.86 --version --verbose
rustc 1.86.0 (05f9846f8 2025-03-31)
binary: rustc
commit-hash: 05f9846f893b09a1be1fc8560e33fc3c815cfecb
commit-date: 2025-03-31
host: x86_64-unknown-linux-gnu
release: 1.86.0
LLVM version: 19.1.7

Version with regression

rustc +1.87 --version --verbose:

rustc 1.87.0 (17067e9ac 2025-05-09)
binary: rustc
commit-hash: 17067e9ac6d7ecb70e50f92c1944e545188d2359
commit-date: 2025-05-09
host: x86_64-unknown-linux-gnu
release: 1.87.0
LLVM version: 20.1.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.C-bugCategory: This is a bug.O-SystemZTarget: SystemZ processors (s390x)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions