Tracking issue for problems on RISC-V Linux platform
Open
Nobody has claimed this yet.
platform:riscv64
- Dominant language
- Jinja
- Stars
- 541
- Forks
- 185
- Avg merge
- 22h 15m
- Merged PRs (30d)
- 4
Description
While RISC-V is still an unofficial platform, there are lots of interest to push it to experimental tier(#2876) .
This issue tracks bugs that are closely related to linux riscv64 platform.
Build Errors
- (main, 24.x) https://github.com/nodejs/node/issues/58485 (should be fixed by https://github.com/nodejs/node/pull/58773)
Bugs
- https://github.com/nodejs/node/issues/47522. This one is caused by a GCC regression and affects arm64 as well.
- (v24.x) https://github.com/nodejs/node/issues/60895 https://github.com/riscv-forks/electron/issues/9. Should be fixed by
https://github.com/nodejs/node/pull/58746https://github.com/nodejs/node/pull/60962 - https://github.com/riscv-forks/electron/issues/7. This one also appears to be a GCC specific bug as node compiled with clang is not affected.
- (v22.x, v23.x) https://github.com/riscv-forks/electron/issues/6. Fixed by https://github.com/nodejs/node/pull/56781
- (all versions after v20.x) https://github.com/riscv-forks/electron/issues/3. WebAssembly's trap handler implementation uses a lot of virtual memory for guard pages, where risc-v systems with
Sv39only have 256GB virtual memory and would quickly run out of address space when multiple wasm are running.- Disabling trap handler would solve it but also leads to other new bugs like https://github.com/riscv-forks/electron/issues/8
- (all versions from at least v16.x) https://github.com/revyos/revyos/issues/27. This one only triggers on SG2042, which has 64 cores. It is mysterious as it happens by chance and when gdb is attached, the call stack is already corrupted so the cause is still unknown.
- This one also appears to affect loongarch64. (fixed in https://chromium-review.googlesource.com/c/v8/v8/+/6786372)
- Should be fixed with https://github.com/nodejs/node/pull/61666
- Node.js test-snapshot-reproducible.js failing on riscv64
Performance Regressions
- (v21.x, v22.x) https://github.com/riscv-forks/electron/issues/1. Fixed by https://github.com/nodejs/node/pull/53412
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 by reviewing the unchecked entries, especially the linked Electron issues and the Chromium snapshot failure, then check the referenced Node.js pull requests and platform context. This is a tracking issue rather than a self-contained change; done means resolving or updating the remaining RISC-V Linux problems with evidence from the relevant builds or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, node.js, wasm
- Domain
- build-system, operating-systems, testing-qa
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100