Stream: git-wasmtime

Topic: wasmtime / issue #11726 Panic compiling composition adapt...


view this post on Zulip Wasmtime GitHub notifications bot (Sep 20 2025 at 01:55):

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

view this post on Zulip Wasmtime GitHub notifications bot (Sep 20 2025 at 01:55):

alexcrichton added the wasm-proposal:component-model-async label to Issue #11726.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 14 2025 at 16:27):

tschneidereit assigned dicej to issue #11726.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 14 2025 at 16:28):

tschneidereit commented on issue #11726:

@dicej assigning this to you after discussions with Alex

view this post on Zulip Wasmtime GitHub notifications bot (Nov 17 2025 at 22:04):

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.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 17 2025 at 22:52):

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

view this post on Zulip Wasmtime GitHub notifications bot (Nov 17 2025 at 22:52):

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