Skip to content

Segfault with exceptions + single-pass regalloc #11850

@alexcrichton

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

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