| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
For riscv64, the most commonly supported paging mode is sv39, which allocates 256GiB of virtual address space for the user space. However, due to trap handler security mechanism in V8, creating a wasm memory will cost 8GiB of continuous virtual address space. In a fresh node repl, I could only create 27 WebAssembly.Memory instances. When the virtual address space is more fragmented, it is worse. The wpt tests are randomly failing on riscv64 due to insufficient virtual address space to create wasm memories. This PR fixes it by limiting the concurrency of the WPTRunner to prevent the tests from creating too many wasm memories.
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #60591 +/- ##
=======================================
Coverage 88.55% 88.56%
=======================================
Files 704 704
Lines 208077 208077
Branches 40076 40080 +4
=======================================
+ Hits 184271 184287 +16
+ Misses 15839 15824 -15
+ Partials 7967 7966 -1 see 23 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Sorry, something went wrong.
|
I think the macOS test failure here is unrelated: https://github.com/nodejs/node/actions/runs/19103557173/job/54581287952?pr=60591 |
Sorry, something went wrong.
Sorry, something went wrong.
- Fix test-strace-openat-openssl for RISC-V, upstreamed: nodejs/node#60588 - Fix randomly failing WPT tests, upstreamed: nodejs/node#60591 - Drop upstreamed patches - Temporarily disable test-snapshot-reproducible.js, I am still investigating it. - Now `check()` is supposed to pass, but some tests could hit revyos/revyos#27 on SG2042 so we might still need nocheck.
- Fix test-strace-openat-openssl for RISC-V, upstreamed: nodejs/node#60588 - Fix randomly failing WPT tests, upstreamed: nodejs/node#60591 - Drop upstreamed patches - Temporarily disable test-snapshot-reproducible.js, I am still investigating it. - Now `check()` is supposed to pass, but some tests could hit revyos/revyos#27 on SG2042 so we might still need nocheck.
|
Hi, is there still anything I need to do to get this PR merged? Thanks. |
Sorry, something went wrong.
- Fix test-strace-openat-openssl for RISC-V, upstreamed: nodejs/node#60588 - Fix randomly failing WPT tests, upstreamed: nodejs/node#60591 - Drop upstreamed patches - Temporarily disable test-snapshot-reproducible.js, I am still investigating it. - Now `check()` is supposed to pass, but some tests could hit revyos/revyos#27 on SG2042 so we might still need nocheck.
For riscv64, the most commonly supported paging mode is sv39, which allocates 256GiB of virtual address space for the user space. However, due to trap handler security mechanism in V8, creating a wasm memory will cost 8GiB of continuous virtual address space. In a fresh node repl, I could only create 27 WebAssembly.Memory instances. When the virtual address space is more fragmented, it is worse. The wpt tests are randomly failing on riscv64 due to insufficient virtual address space to create wasm memories. This PR fixes it by limiting the concurrency of the WPTRunner to prevent the tests from creating too many wasm memories. PR-URL: #60591 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
For riscv64, the most commonly supported paging mode is sv39, which allocates 256GiB of virtual address space for the user space. However, due to trap handler security mechanism in V8, creating a wasm memory will cost 8GiB of continuous virtual address space. In a fresh node repl, I could only create 27 WebAssembly.Memory instances. When the virtual address space is more fragmented, it is worse. The wpt tests are randomly failing on riscv64 due to insufficient virtual address space to create wasm memories. This PR fixes it by limiting the concurrency of the WPTRunner to prevent the tests from creating too many wasm memories. PR-URL: #60591 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
For riscv64, the most commonly supported paging mode is sv39, which allocates 256GiB of virtual address space for the user space. However, due to trap handler security mechanism in V8, creating a wasm memory will cost 8GiB of continuous virtual address space. In a fresh node repl, I could only create 27 WebAssembly.Memory instances. When the virtual address space is more fragmented, it is worse. The wpt tests are randomly failing on riscv64 due to insufficient virtual address space to create wasm memories. This PR fixes it by limiting the concurrency of the WPTRunner to prevent the tests from creating too many wasm memories. PR-URL: #60591 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
For riscv64, the most commonly supported paging mode is sv39, which allocates 256GiB of virtual address space for the user space. However, due to trap handler security mechanism in V8, creating a wasm memory will cost 8GiB of continuous virtual address space. In a fresh node repl, I could only create 27 WebAssembly.Memory instances. When the virtual address space is more fragmented, it is worse. The wpt tests are randomly failing on riscv64 due to insufficient virtual address space to create wasm memories. This PR fixes it by limiting the concurrency of the WPTRunner to prevent the tests from creating too many wasm memories. PR-URL: #60591 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
For riscv64, the most commonly supported paging mode is sv39, which allocates 256GiB of virtual address space for the user space. However, due to trap handler security mechanism in V8, creating a wasm memory will cost 8GiB of continuous virtual address space. In a fresh node repl, I could only create 27 WebAssembly.Memory instances. When the virtual address space is more fragmented, it is worse. The wpt tests are randomly failing on riscv64 due to insufficient virtual address space to create wasm memories. This PR fixes it by limiting the concurrency of the WPTRunner to prevent the tests from creating too many wasm memories. PR-URL: #60591 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
For riscv64, the most commonly supported paging mode is sv39, which allocates 256GiB of virtual address space for the user space. However, due to trap handler security mechanism in V8, creating a wasm memory will cost 8GiB of continuous virtual address space. In a fresh node repl, I could only create 27 WebAssembly.Memory instances. When the virtual address space is more fragmented, it is worse. The wpt tests are randomly failing on riscv64 due to insufficient virtual address space to create wasm memories. This PR fixes it by limiting the concurrency of the WPTRunner to prevent the tests from creating too many wasm memories. PR-URL: #60591 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
riscv64 with sv39 has limited virtual memory space, where creating too many (>=20) wasm memory instances fails. See nodejs/node#60591 for more details. This PR fixes the following error encountered during `make test-only` on riscv64: [07:02:55.797] ERROR: WebAssembly.instantiate(): Out of memory: Cannot allocate Wasm memory for new instance RangeError: WebAssembly.instantiate(): Out of memory: Cannot allocate Wasm memory for new instancemake[1]: *** [Makefile:392: test/addons/.docbuildstamp] Error 1 make: *** [Makefile:352: test-only] Error 2
riscv64 with sv39 has limited virtual memory space, where creating too many (>=20) wasm memory instances fails. See nodejs/node#60591 for more details. This PR fixes the following error encountered during `make test-only` on riscv64: [07:02:55.797] ERROR: WebAssembly.instantiate(): Out of memory: Cannot allocate Wasm memory for new instance RangeError: WebAssembly.instantiate(): Out of memory: Cannot allocate Wasm memory for new instancemake[1]: *** [Makefile:392: test/addons/.docbuildstamp] Error 1 make: *** [Makefile:352: test-only] Error 2
riscv64 with sv39 has limited virtual memory space, where creating too many (>=20) wasm memory instances fails. See nodejs/node#60591 for more details. This PR fixes the following error encountered during `make test-only` on riscv64: [07:02:55.797] ERROR: WebAssembly.instantiate(): Out of memory: Cannot allocate Wasm memory for new instance RangeError: WebAssembly.instantiate(): Out of memory: Cannot allocate Wasm memory for new instancemake[1]: *** [Makefile:392: test/addons/.docbuildstamp] Error 1 make: *** [Makefile:352: test-only] Error 2 Signed-off-by: Levi Zim <rsworktech@outlook.com>
* fix: disable wasm highlighter on riscv64 riscv64 with sv39 has limited virtual memory space, where creating too many (>=20) wasm memory instances fails. See nodejs/node#60591 for more details. This PR fixes the following error encountered during `make test-only` on riscv64: [07:02:55.797] ERROR: WebAssembly.instantiate(): Out of memory: Cannot allocate Wasm memory for new instance RangeError: WebAssembly.instantiate(): Out of memory: Cannot allocate Wasm memory for new instancemake[1]: *** [Makefile:392: test/addons/.docbuildstamp] Error 1 make: *** [Makefile:352: test-only] Error 2 Signed-off-by: Levi Zim <rsworktech@outlook.com> * fix: enable wasm highlighter for s390x The bug for s390x has been fixed. * fix: limit threads to 1 on riscv64 And warn user if they set it to a larger value. --------- Signed-off-by: Levi Zim <rsworktech@outlook.com>
Even when the concurrency of WPTRunner is limited to 10, flaky WPT tests are still observed on RISC-V with Sv39. For example, test/wpt/test-compression.js failed in https://github.com/riscv-forks/node-riscv/actions/runs/27756747452 and https://github.com/riscv-forks/node-riscv/actions/runs/27544719447, where the cause of the failure is a failing `mmap` of roughly 8GiB: [pid 954955] mmap(NULL, 8589996032, PROT_NONE, ... Further limit the concurrency of WPTRunner to fix flaky tests. See nodejs#60591 for the reason of limiting the WPT test concurrency on RISC-V. Signed-off-by: Levi Zim <rsworktech@outlook.com>
| Back | FazBrowse Home | New Git URL |
For riscv64, the most commonly supported paging mode is sv39, which allocates 256GiB of virtual address space for the user space. However, due to trap handler security mechanism in V8, creating a wasm memory will cost 8GiB of continuous virtual address space. In a fresh node repl, I could only create 27 WebAssembly.Memory instances. When the virtual address space is more fragmented, it is worse.
The wpt tests are randomly failing on riscv64 due to insufficient virtual address space to create wasm memories. This PR fixes it by limiting the concurrency of the WPTRunner on RISC-V to prevent the tests from creating too many wasm memories.