bytecodealliance / javy

JS to WebAssembly toolchain
Apache License 2.0
2.24k stars 108 forks source link

BigUint64Array some large numbers broken in wasm32-wasi #556

Closed lastmjs closed 9 months ago

lastmjs commented 11 months ago

Forgive me if I'm abusing the issue tracker her, but the QuickJS repo itself doesn't seem to be getting much attention. Does anyone here in the Javy project contribute upstream to QuickJS? I found a pretty major bug in BigUint64Arrays when QuickJS is compiled to wasm32-wasi, just want to give this some attention: https://github.com/bellard/quickjs/issues/202

jeffcharles commented 11 months ago

To give some context, we don't contribute to QuickJS.

Our build for QuickJS is performed at https://github.com/bytecodealliance/javy/blob/f3d6b6fe4d8aeb8efd723f00705f9fdc22ec1751/crates/quickjs-wasm-sys/build.rs#L205-L237 using the WASI SDK which uses upstream Clang with a custom sysroot.

We do compile QuickJS with CONFIG_BIGNUM ~disabled~ enabled. I need to do some further investigation to get a better sense of what's happening under the covers.

jeffcharles commented 9 months ago

We've updated QuickJS to release 2023-12-09 in Javy which fixes this particular bug. We plan to update to 2024-01-13 at some point in the future.