Skip to content

longbridge: musllinux riscv64 wheels dropped - musl-hosted rustc segfaults or hangs #2709

Description

@luhenry

build-longbridge.yml (#2707) ships manylinux_2_39 riscv64 wheels only. Upstream also ships musllinux_1_2 wheels, but on the riscv64 runners the musl-hosted rustc (stable-riscv64gc-unknown-linux-musl, installed by rustup in quay.io/pypa/musllinux_1_2_riscv64) did not reliably finish the final compile of the longbridge-python cdylib. Every dependency crate compiled cleanly; every failure happened inside that one rustc invocation.

Results across 9 musllinux legs of longbridge 4.5.0:

  • workspace default lto = true (fat): 3 green (about 1 h 40 min to 2 h each), 1 SIGSEGV after about 11 min, 1 hang still running after 2 h when cancelled (run 37197520431)
  • CARGO_PROFILE_RELEASE_LTO=thin: 2 SIGSEGV after about 14 min, 2 hangs still running after 1 h 45 min when cancelled (run 37212202146)

rustc printed nothing before the SIGSEGVs. The glibc-hosted toolchain built the same tree in the manylinux image: 4 of 4 green with thin LTO, and 4 of 5 with fat LTO (one abort with double free or corruption (out)).

The root cause has not been identified. Candidates include a threading or stack-size problem specific to the musl host build of rustc/LLVM on riscv64. Re-add the musllinux leg once a newer rustc builds this crate reliably.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions