WebAssembly / WebAssembly/binaryen
wasm2js/I64ToI32Lowering fails on 64-bit atomic stores (I think) test_atomic_wait64_notify
Open
Nobody has claimed this yet.
- Dominant language
- WebAssembly
- Stars
- 8.6k
- Forks
- 885
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 69
Description
I'm currently landing a new test test_atomic_wait64_notify which is failing under wasm2js:
test_atomic_wait64_notify (test_core.wasm2js1.test_atomic_wait64_notify) ... Clearing existing test directory
wasm2js: /usr/local/google/home/sbc/dev/wasm/binaryen/src/passes/I64ToI32Lowering.cpp:423: void wasm::I64ToI32Lowering::visitStore(wasm::Store *): Assertion `!curr->isAtomic && "atomic store not implemented"' failed.
emcc: error: '/usr/local/google/home/sbc/dev/wasm/binaryen-out/bin/wasm2js --emscripten -O test_atomic_wait64_notify.wasm --mvp-features --enable-threads --enable-bulk-memory --enable-mutable-globals --enable-sign-ext' failed (received SIGABRT (-6))
None
None
FAIL
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/passes/I64ToI32Lowering.cpp at the visitStore assertion that reports atomic stores as unimplemented. Reproduce the failure with test_atomic_wait64_notify under wasm2js and inspect the related test output. Done means the test no longer aborts in wasm2js and passes successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, wasm
- Domain
- compilers, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100