alexcrichton opened issue #11726:
Given this WIT file:
package a:b; interface x { record big { a1: big2, a2: big2, a3: big2, a4: big2, } record big2 { a1: big3, a2: big3, a3: big3, a4: big3, } record big3 { a1: u8, a2: u8, a3: u8, a4: u8, } indirect-result: async func() -> big; } world caller { import x; } world callee { export x; }the panic is triggered with:
$ wasm-tools component embed --async-callback --dummy-names legacy ./foo.wit --world callee | wasm-tools component new -o callee.wasm $ wasm-tools component embed --async-callback --dummy-names legacy ./foo.wit --world caller | wasm-tools component new -o caller.wasm $ wasm-tools compose caller.wasm -d callee.wasm -o composition.wasm --skip-validation $ cargo run --features component-model-async compile composition.wasm -W component-model-async,component-model-error-context ... thread 'main' panicked at crates/environ/src/fact/trampoline.rs:3909:50: called `Option::unwrap()` on a `None` value note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
alexcrichton added the wasm-proposal:component-model-async label to Issue #11726.
tschneidereit assigned dicej to issue #11726.
tschneidereit commented on issue #11726:
@dicej assigning this to you after discussions with Alex
dicej commented on issue #11726:
This will be addressed by https://github.com/bytecodealliance/wasm-tools/pull/2382 once it's merged and pulled into Wasmtime.
alexcrichton closed issue #11726:
Given this WIT file:
package a:b; interface x { record big { a1: big2, a2: big2, a3: big2, a4: big2, } record big2 { a1: big3, a2: big3, a3: big3, a4: big3, } record big3 { a1: u8, a2: u8, a3: u8, a4: u8, } indirect-result: async func() -> big; } world caller { import x; } world callee { export x; }the panic is triggered with:
$ wasm-tools component embed --async-callback --dummy-names legacy ./foo.wit --world callee | wasm-tools component new -o callee.wasm $ wasm-tools component embed --async-callback --dummy-names legacy ./foo.wit --world caller | wasm-tools component new -o caller.wasm $ wasm-tools compose caller.wasm -d callee.wasm -o composition.wasm --skip-validation $ cargo run --features component-model-async compile composition.wasm -W component-model-async,component-model-error-context ... thread 'main' panicked at crates/environ/src/fact/trampoline.rs:3909:50: called `Option::unwrap()` on a `None` value note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
alexcrichton commented on issue #11726:
I'll go ahead and close this as this seems minor enough to not do a wasm-tools release for and otherwise will get naturally fixed on the next update of wasm-tools as the input here will become invalid.
Last updated: Dec 06 2025 at 07:03 UTC