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

libsodium tests/benchmarks are segfaulting/producing wrong results #4

Open
jedisct1 opened this issue Jan 9, 2023 · 2 comments
Open

Comments

@jedisct1
Copy link

jedisct1 commented Jan 9, 2023

Hi!

I'd like to add web49 to the lists of runtimes libsodium can support for testing wasm32-wasi.

web49 currently doesn't implement wasi_random_get, which I added a simple implementation for.
But in benchmark mode, it's not even required by most tests.

However, many tests, when run under web49, either cause the interpreter to segfault, or return incorrect values.

For example scalarmult.wasm segfaults, and xchacha20.wasm trips on many assertions due to incorrect computations.

The benchmark files used for the most recent round of the libsodium benchmark can be downloaded here.

These benchmarks, or the test files that are faster to execute and still trigger the issues with web49, can be created simply by running the zig build -Drelease-fast -Dtarget=wasm32-wasi command in the root directory of the libsodium source code.

@ShawSumma
Copy link
Member

zig by default uses multiple values, which has a few bugs right now.

@ShawSumma
Copy link
Member

Currently working on Multiple Values support, it kinda requires a bit of a big refactor.
Instead of immediately crashing auth.wasm now crashes after 500ms, Progress!
Ill comment more when they all or almost all work.

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

2 participants