Stream: git-wasmtime

Topic: wasmtime / issue #12385 Using "component-model-async" => ...


view this post on Zulip Wasmtime GitHub notifications bot (Jan 21 2026 at 21:43):

ignatz opened issue #12385:

For context, I found https://github.com/bytecodealliance/wasmtime/issues/12154 which had the same error message but supposedly it's fixed, it may also be unrelated...

...anyway, I'm using wasmtime v41.0.0 enabling the "component-model-async" feature, while still using WASIp2.

The host seems to be happy, but when I build the WASM guest, I'm getting:

cargo build --target wasm32-wasip2 --release
   Compiling wasm-rust-guest-testfixture v0.0.0 (/home/sebastian/projects/trailbase/client/testfixture/guests/rust)
error: linking with `wasm-component-ld` failed: exit status: 1
  |
  = note:  "wasm-component-ld" "-flavor" "wasm" "--export" "cabi_post_trailbase:component/init-endpoint@0.1.0#init-http-handlers" "--export" "cabi_post_trailbase:component/init-endpoint@0.1.0#init-job-handlers" "--export" "cabi_post_trailbase:component/init-endpoint@0.1.0#init-sqlite-functions" "--export" "cabi_post_trailbase:component/sqlite-function-endpoint@0.1.0#dispatch-scalar-function" "--export" "trailbase:component/init-endpoint@0.1.0#init-http-handlers" "--export" "trailbase:component/init-endpoint@0.1.0#init-job-handlers" "--export" "trailbase:component/init-endpoint@0.1.0#init-sqlite-functions" "--export" "trailbase:component/sqlite-function-endpoint@0.1.0#dispatch-scalar-function" "--export" "wasi:http/incoming-handler@0.2.9#handle" "--export" "cabi_realloc" "-z" "stack-size=1048576" "--stack-first" "--allow-undefined" "--no-demangle" "<431 object files omitted>" "/tmp/rustcvjZFo1/{libwit_bindgen-82480354a7f0311d,libwit_bindgen-07ccf6eb5537f8e1}.rlib" "-l" "c" "<sysroot>/lib/rustlib/wasm32-wasip2/lib/libcompiler_builtins-*.rlib" "-L" "/home/sebastian/projects/trailbase/target/wasm32-wasip2/release/build/wit-bindgen-8ffd3c9ddbea9b25/out" "-L" "<sysroot>/lib/rustlib/wasm32-wasip2/lib/self-contained" "-o" "/home/sebastian/projects/trailbase/target/wasm32-wasip2/release/deps/wasm_rust_guest_testfixture.wasm" "--gc-sections" "--no-entry" "-O3" "--strip-debug"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: error: failed to parse core wasm for componentization

          Caused by:
              0: decoding custom section component-type:wit-bindgen:0.51.0:trailbase:component@0.1.0:interfaces-with-all-of-its-exports-removed:encoded world
              1: invalid leading byte (0x43) for component defined type (at offset 0x2a38)

When I build with --target wasm-unknown-unknown or --target wasm-wasip1, the component builds but the guest is not able to load it: "Wasmtime: failed to parse WebAssembly module".

The wasm-wasip3 target seems to be retired? Anyway, which would be the right one? Am I holding something else wrong? For example, does component-model-async require me to also switch to WASIp3 in lock-step?

Much appreciated :folded_hands:


Last updated: Jan 29 2026 at 13:25 UTC