nodejs / nodejs/node

`test-code-cache` fails on a Linux/riscv64 build with FFI enabled.

Open
#64,717 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ffi riscv64
Dominant language
JavaScript
Stars
122k
Forks
37.3k
Avg merge
4d 2h
Merged PRs (30d)
283

Description

Version

main branch

Platform
linux/riscv64
Subsystem

FFI

What steps will reproduce the bug?

Running the parallel/test-code-cache test on a build with FFI enabled. This is spun out from the comment in https://github.com/nodejs/build/issues/4099#issuecomment-5070947806

As background FFI was first able to be enabled after https://github.com/nodejs/node/pull/63794 and superceded by the update in https://github.com/nodejs/node/pull/64040 which included the upstream fix.

How often does it reproduce? Is there a required condition?

Seems to be 100%

What is the expected behavior? Why is that the expected behavior?

Test passes.

What do you see instead?

Here are the first fiew lines of failures - the lines towards the end are replicated with different module names (i.e. it's not just internal/streams for example assert and net are included in these lines int he full log:

Path: parallel/test-code-cache
node:internal/assert/utils:146
  throw error;
  ^

AssertionError [ERR_ASSERTION]: "internal/abort_controller" should've been compiled **with** code cache
"internal/streams/end-of-stream" should've been compiled **with** code cache
"internal/streams/operators" should've been compiled **with** code cache
"internal/streams/destroy" should've been compiled **with** code cache
"internal/streams/legacy" should've been compiled **with** code cache
"internal/streams/add-abort-signal" should've been compiled **with** code cache
[...]
Additional information

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running parallel/test-code-cache on a Linux/riscv64 build with FFI enabled and compare the failures with the expected code-cache behavior. Review the linked build issue and the referenced Node.js PRs for the FFI and upstream changes. Done means the test passes and the affected internal modules are compiled with code cache.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
operating-systems, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.