Failed to load Wasm module due to a missing import: wasi_snapshot_preview1.fd_filestat_get
Closed this issue · 2 comments
Describe the bug / error
When I am trying to use the following package: "google.golang.org/protobuf/proto"
And in particular:
func (ctx *setBodyContext) OnHttpRequestBody(bodySize int, endOfStream bool) types.Action {
_ = proto.String("x")
return types.ActionContinue
}
I get the following error during Envoy startup:
Failed to load Wasm module due to a missing import: wasi_snapshot_preview1.fd_filestat_get
When I give up this package the error is gone and the module loads successfully.
What is your Envoy/Istio version?
envoyproxy/envoy-dev:ce4845329292c3b896fc0d26d5555e6ab54a30b7
What is the SDK version?
Commit bd6f695
What is your TinyGo version?
tinygo version 0.25.0 windows/amd64 (using go version go1.19 and LLVM version 14.0.0)
URL or snippet of your code including Envoy configuration
http_filters:
- name: envoy.filters.http.wasm
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
config:
vm_config:
runtime: "envoy.wasm.runtime.v8"
code:
local:
filename: "grpc.wasm"
Additional context (Optional)
It's not the issue of this SDK, but the problem of the host implementation used by Envoy: https://github.com/proxy-wasm/proxy-wasm-cpp-host
Could you open an issue there? Thanks!
BTW, protobuf cannot work with TinyGo, so you might want to seek alternative. See tinygo-org/tinygo#447