proxy-wasm / proxy-wasm-cpp-host

WebAssembly for Proxies (C++ host implementation)
Apache License 2.0
84 stars 69 forks source link

Failed to load Wasm module due to a missing import: wasi_snapshot_preview1.fd_filestat_get #308

Open ohadvano opened 2 years ago

ohadvano commented 2 years ago

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 bd6f69563ef44496906d57b61980af76d365b5ca

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)

Original issue was opened in the Go-SDK repository, redirected to the host repository: https://github.com/tetratelabs/proxy-wasm-go-sdk/issues/324