-
Notifications
You must be signed in to change notification settings - Fork 11
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
Explore wasmtime for the autosplitters #14
Comments
Seems like wasmtime doesn't work on Windows currently. Here's the tracking issue: |
I was able to verify that my port works at all with a modified fork. Unfortunately I was not able to test interrupting the execution, because cherry picking that commit causes too many conflicts. So I guess we'll have to wait on this properly being fixed upstream. In the meantime we can do other fixes on the branch (like pulling in kithlith's changes and enabling WASI), but it certainly seems like we'll stick to wasmtime. |
Okay, so it seems like their WASI implementation is far from ideal. There's various unimplemented functions that just panic the host process (though possibly wasmtime might catch that unwind?). However at least I might be able to send a few PRs for some of these problems. |
I was able to locally modify their WASI implementation and created some tests that ensure:
I still need to add tests for env vars, command line arguments and networking (which are the unimplemented methods, what happens then?). |
Alright, so command line arguments are empty as expected. Environment variables are empty, can be set, but are independent from the host. Threads don't work as expected. Time Stamps can be taken. Random numbers work as well. However there's one thing that I'm not quite sure how to deal with yet, as it's quite complicated and that's |
FYI, concerning the |
We haven't entirely settled on wasmer yet and it has some flaws that haven't been resolved yet. wasmtime now implements some of the things we definitely need, such as the ability to terminate execution at will, which is important as otherwise a faulty autosplitter could consume 100% of some thread as it gets stuck in some infinite loop and you couldn't do anything about it.
The text was updated successfully, but these errors were encountered: