mizchi opened issue #12714:
Summary
wasmtime servefails to link awasi:http/service@0.3.0-rc-2026-01-06component generated viawit-bindgen+wasm-tools component new.The failure happens even without any compose step (
wac/wasm-tools composeare not involved in this repro).Versions
- wasmtime:
41.0.3 (db1c043b5 2026-02-04)- wasm-tools:
1.245.1- rustc:
1.92.0- cargo:
1.92.0- wit-bindgen crate:
0.51.0Minimal Repro
src/lib.rs:wit_bindgen::generate!({ inline: r#" package vibe:http-adapter; world serviceonly { include wasi:http/service@0.3.0-rc-2026-01-06; } "#, // Uses wasmtime's bundled wasi-http p3 WIT package path: "<wasmtime repo>/crates/wasi-http/src/p3/wit", world: "vibe:http-adapter/serviceonly", pub_export_macro: true, generate_all, }); use exports::wasi::http::handler::Guest; use wasi::http::types::{ErrorCode, Request, Response}; struct Component; impl Guest for Component { async fn handle(request: Request) -> Result<Response, ErrorCode> { let _ = request; Err(ErrorCode::InternalError(None)) } } export!(Component);Build & run:
cargo build --target wasm32-unknown-unknown --release wasm-tools component new target/wasm32-unknown-unknown/release/<crate>.wasm -o service_only.component.wasm wasmtime serve \ -W component-model-async=y \ -W component-model-async-builtins=y \ --addr 127.0.0.1:0 \ service_only.component.wasmActual
wasmtime servefails immediately:Error: component imports instance `wasi:http/types@0.3.0-rc-2026-01-06`, but a matching implementation was not found in the linker Caused by: 0: instance export `request` has the wrong type 1: resource implementation is missingAdditional Notes
- This same error reproduces from a second path where we compose another component via
wac plug, but the service-only repro above shows compose is not required.wasm-tools validate --features all service_only.component.wasmsucceeds.If this behavior is expected due to stricter type matching semantics in
serve, guidance on the required shape for importedwasi:http/typesin generated components would help.
alexcrichton commented on issue #12714:
WASIp3 is disabled by default, so if you pass
-Sp3does that resolve this error?
Last updated: Mar 23 2026 at 16:19 UTC