Skip to content

Segfault with exceptions + single-pass regalloc #11850

Description

@alexcrichton

Using Wasmtime 37.0.2 I get:

$ wasmtime wast -Cinlining=y -Ccranelift-wasmtime_inlining_intra_module=yes -Oregalloc-algorithm=single-pass -Wexceptions=y tests/spec_testsuite/proposals/wasm-3.0/throw.wast

thread 'main' panicked at /home/runner/work/wasmtime/wasmtime/crates/unwinder/src/exception_table.rs:168:25:
Wasmtime exception unwind info only supports dynamic contexts on the stack
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
zsh: IOT instruction (core dumped)  wasmtime wast -Cinlining=y -Ccranelift-wasmtime_inlining_intra_module=yes

using main I get:

$ cargo run wast -Cinlining=y -Ccranelift-wasmtime_inlining_intra_module=yes -Oregalloc-algorithm=single-pass -Wexceptions=y tests/spec_testsuite/proposals/wasm-3.0/throw.wast
...
zsh: segmentation fault (core dumped)  cargo run wast -Cinlining=y -Ccranelift-wasmtime_inlining_intra_module=yes

My guess is that this is related to the single-pass register allocator, so cc @d-sonuga

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

    cranelift:area:regallocIssues related to register allocation.fuzz-bugBugs found by a fuzzerwasm-proposal:exceptionsIssues for WebAssembly exceptions/exception-handling

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions