Giter Site home page Giter Site logo

Interop broken on Linux? about go HOT 3 OPEN

guregu avatar guregu commented on May 24, 2024
Interop broken on Linux?

from go.

Comments (3)

guregu avatar guregu commented on May 24, 2024

Hmm, looks like there's a 1MB (maybe 2MB?) stack size limit by default: bytecodealliance/wasmtime#900
This would explain a lot... the Trealla wasm build uses a 8MB stack.
There's no way to set this size yet for wasmtime-go so I will add it then fix this.
Pretty surprising it doesn't read the stack size from the binary.

from go.

guregu avatar guregu commented on May 24, 2024

This should take care of it: bytecodealliance/wasmtime-go#180

from go.

guregu avatar guregu commented on May 24, 2024

Hmm... it looks like it's more complex than I thought.
wasmtime divides the stack space every time a guest -> host -> guest (reentrant?) call happens
Even with the larger stack, if there's more than 2 or so reentrant queries happening the stack just becomes too small.
This can be worked around by calling Clone() on the instance passed to the native predicate, but incurs an overhead.
It might be possible to avoid this with a more complex locking system but probably not worth it.

from go.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.