-
-
Notifications
You must be signed in to change notification settings - Fork 34.4k
test: limit the concurrency of WPTRunner for RISC-V #60591
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
Conversation
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. Additional details and impacted files@@ 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 🚀 New features to boost your workflow:
|
|
I think the macOS test failure here is unrelated: https://github.com/nodejs/node/actions/runs/19103557173/job/54581287952?pr=60591 |
- 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. |
|
Landed in cdc3ca8 |
- 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 <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
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 <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
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.