Skip to content

Fix bridge E2E CI by downgrading Rust to 1.88 to avoid wasmer probestack breakage#5583

Merged
deuszx merged 2 commits intotestnet_conwayfrom
ndr-ds/fix-bridge-e2e-probestack
Mar 3, 2026
Merged

Fix bridge E2E CI by downgrading Rust to 1.88 to avoid wasmer probestack breakage#5583
deuszx merged 2 commits intotestnet_conwayfrom
ndr-ds/fix-bridge-e2e-probestack

Conversation

@ndr-ds
Copy link
Contributor

@ndr-ds ndr-ds commented Mar 3, 2026

Motivation

The bridge E2E CI has been failing on every testnet_conway push since at least Feb 28
with a linker error:

rust-lld: error: undefined symbol: __rust_probestack
referenced by linera_wasmer_vm

PR #5582 pinned the bridge e2e toolchain to Rust 1.91 to satisfy alloy's MSRV, but Rust
1.89+ removed __rust_probestack as a linkable extern symbol
(rust-lang/rust#141992), which breaks
the linera wasmer fork (v4.4.0-linera.7) that still references it in probestack.rs.

Proposal

Use Rust 1.88 (the last version before the probestack removal) and cap alloy to <1.7
(since alloy 1.7+ requires Rust 1.91):

  • rust-toolchain.toml: 1.91 → 1.88
  • Cargo.toml: Set rust-version = "1.88", cap alloy to >=1.0.42, <1.7
  • .cargo/config.toml (new): Enable MSRV-aware resolver
    (incompatible-rust-versions = "fallback") so alloy sub-crates also resolve to 1.6.x
  • Cargo.lock: Regenerated (alloy 1.3 → 1.6.3 across all sub-crates)
  • bridge-e2e.yml: Added pull_request trigger targeting testnet_conway so the
    test runs on this PR

The proper long-term fix is updating the linera wasmer fork with the upstream probestack
fix (wasmerio/wasmer#5690). The alloy
cap comment documents this.

Test Plan

  • cargo check passes locally with Rust 1.88
  • The pull_request trigger on this PR will run the bridge E2E test in CI (remove the
    trigger before merge)

Release Plan

  • Nothing to do / These changes follow the usual release cycle.

Links

@ndr-ds ndr-ds marked this pull request as draft March 3, 2026 18:51
@ndr-ds ndr-ds marked this pull request as ready for review March 3, 2026 19:36
@ndr-ds ndr-ds requested a review from deuszx March 3, 2026 19:37
# Prefer crate versions compatible with our rust-version (1.88).
# This prevents alloy sub-crates from resolving to 1.7+ (MSRV 1.91),
# which would pull in Rust 1.91 and break linera-wasmer-vm's probestack.
incompatible-rust-versions = "fallback"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice!

@deuszx deuszx merged commit 1dc10a2 into testnet_conway Mar 3, 2026
53 of 58 checks passed
@deuszx deuszx deleted the ndr-ds/fix-bridge-e2e-probestack branch March 3, 2026 21:02
ndr-ds added a commit that referenced this pull request Mar 4, 2026
## Motivation

PR #5583 added a `pull_request` trigger to
`.github/workflows/bridge-e2e.yml`
targeting `testnet_conway` so the bridge E2E test would run on that PR.
The PR
description explicitly noted this should be removed before merge, but it
was
merged with the trigger still in place.

## Proposal

Remove the two-line `pull_request` trigger that was left behind. No
other
changes.

## Test Plan

- Visual inspection — this only removes a CI trigger.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants