Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is this ready for use with Envoy? #3

Open
antweiss opened this issue Apr 11, 2020 · 10 comments
Open

Is this ready for use with Envoy? #3

antweiss opened this issue Apr 11, 2020 · 10 comments

Comments

@antweiss
Copy link

I tried to use the WASM filters built from project examples in WASM-enabled Envoy but got: "WASM missing malloc/free"
Is this ready to play with? Should the examples work? Do they require a special Envoy build?

@antweiss
Copy link
Author

@PiotrSikora I'd love to get an answer to this. Thanks a bunch in advance!

@charypar
Copy link

@antweiss I hit the same issue with missing malloc/free. Are you using wasme deploy envoy to test locally by any chance?

If so, I think the default envoy docker image it uses (quay.io/solo-io/gloo-envoy-wasm-wrapper:1.3.5) uses an outdated ABI not supported by this SDK (at least I think that's what's happening).

It works fine with Istio's version of Envoy, like so:

wasme deploy envoy <image-name> --envoy-image=istio/proxyv2:1.5.1

I initially got around the malloc/free problem by exporting a stub free function, but then it failed calling proxy_on_configure anyway, saying it's unreachable.

@antweiss
Copy link
Author

antweiss commented Apr 13, 2020

@charypar Thanks a lot for this! Yes - the malloc/free issue comes from Gloo version of Envoy. I also tried with a self-built Wasm-enabled Envoy binary - and got Failed to load WASM module due to a missing import: env.proxy_get_configuration
So I suppose this does require Istio-provided Envoy. Will try this now.

@antweiss
Copy link
Author

@charypar you were right - works like charm :) thanks again!

@antweiss
Copy link
Author

Described my experience writing a filter using Rust sdk here: https://antweiss.com/blog/extending-envoy-with-wasm-and-rust/
Thanks @PiotrSikora and @charypar

@charypar
Copy link

Fun, I did the same thing here @antweiss: https://blog.red-badger.com/extending-istio-with-rust-and-webassembly, just took me longer to get it published 😄

@Gsantomaggio
Copy link
Contributor

same problem here, I solved by using proxyv2:1.5.1 I could not make it running on Mac OS btw. With Ubuntu it works.

@Gsantomaggio
Copy link
Contributor

Envoy 1.7 is out!!! and it supports wasm.
I don't have this problem anymore I think we can close the issue @PiotrSikora

@PiotrSikora
Copy link
Member

Thanks, I'm glad that everything works for you!

I'll keep the bug open as a reminder to put a list of compatible host environments in the documentation that I'm working on.

@playground
Copy link

Is there any typescript examples?

leonm1 pushed a commit to leonm1/proxy-wasm-rust-sdk that referenced this issue Sep 6, 2023
leonm1 pushed a commit to leonm1/proxy-wasm-rust-sdk that referenced this issue Sep 6, 2023
Create basic CODEOWNERS file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants