Skip to content

Conversation

@kxxt
Copy link
Contributor

@kxxt kxxt commented Jan 9, 2026

This PR fixes JIT compilation error and disassembling error when enabling the RISC-V C extension in V8.

This is only need in v25.x, the v8 version on the main branch already contains the fix.

Original commit message:

[riscv] Fix compilation error and disassembling error when enabling the RISC-V C extension

Change-Id: I34a930f7bcda514698ce64d132cbe05fa32b323c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6934163
Reviewed-by: Yahan Lu (LuYahan) <[email protected]>
Reviewed-by: Kasper Lund <[email protected]>
Commit-Queue: Yahan Lu (LuYahan) <[email protected]>
Cr-Commit-Position: refs/heads/main@{#102431}

Refs: v8/v8@209d2db

Thanks for @luyahan for pointing out the fix and @RevySR for verifying it on node v25.2.1!

joyeecheung and others added 30 commits November 27, 2025 10:27
The synchronous version has been available since 1.4.0.

PR-URL: nodejs#60663
Refs: nodejs#59913
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: nodejs#60675
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Xuguang Mei <[email protected]>
PR-URL: nodejs#60676
Refs: actions/runner-images#13046
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Xuguang Mei <[email protected]>
Correct wrong object identifiers listed for slh-dsa algorithms in
doc/api/crypto.md. the valid range is from id-slh-dsa-sha2-128s
(2.16.840.1.101.3.4.3.20) through id-slh-dsa-shake-256f
(2.16.840.1.101.3.4.3.31), as defined in the ietf
draft-ietf-lamps-x509-slhdsa.

Fixes: nodejs#60680
Refs: https://datatracker.ietf.org/doc/draft-ietf-lamps-x509-slhdsa/
PR-URL: nodejs#60681
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: Xuguang Mei <[email protected]>
PR-URL: nodejs#60623
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: nodejs#60473
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: nodejs#60586
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: nodejs#60503
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs#60690
Reviewed-By: Marco Ippolito <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Xuguang Mei <[email protected]>
Fixes: nodejs#60536
PR-URL: nodejs#60714
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: nodejs#60646
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Fixes: nodejs#60697
PR-URL: nodejs#60699
Reviewed-By: Tim Perry <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ethan Arrowood <[email protected]>
PR-URL: nodejs#60702
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
PR-URL: nodejs#60705
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: nodejs#60707
Refs: nodejs/admin#1005
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Filip Skokan <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ulises Gascón <[email protected]>
PR-URL: nodejs#60558
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
PR-URL: nodejs#60143
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: LiviaMedeiros <[email protected]>
Add support for the creation of ReadableByteStream to Readable.toWeb()
and Duplex.toWeb()
This enables the use of .getReader({ mode: "byob" }) on
e.g. socket().toWeb()

Refs: nodejs#56004 (comment)
Refs: https://developer.mozilla.org/en-US/docs/Web/API/Streams_API/Using_readable_byte_streams
PR-URL: nodejs#58664
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Ethan Arrowood <[email protected]>
Reviewed-By: Mattias Buelens <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Signed-off-by: RafaelGSS <[email protected]>
PR-URL: nodejs#60668
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Ulises Gascón <[email protected]>
Adds missing REPL instance cleanup calls to prevent resource leaks
in test/parallel/test-repl-multiline-navigation.js. Each test now
properly closes the REPL instance after testing cursor navigation.

PR-URL: nodejs#60226
Reviewed-By: Ruben Bridgewater <[email protected]>
PR-URL: nodejs#59582
Fixes: nodejs#60611
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
PR-URL: nodejs#60723
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
PR-URL: nodejs#60728
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
PR-URL: nodejs#60700
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
PR-URL: nodejs#60729
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: nodejs#60730
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
aduh95 and others added 18 commits December 5, 2025 14:17
PR-URL: nodejs#60920
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Ulises Gascón <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-version: 7.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
PR-URL: nodejs#60924
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Ulises Gascón <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.1
to 6.0.0.

- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
PR-URL: nodejs#60925
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Ulises Gascón <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Bumps [github/codeql-action](https://github.com/github/codeql-action)
from 4.31.3 to 4.31.6.

- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
PR-URL: nodejs#60926
Reviewed-By: Ulises Gascón <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Marco Ippolito <[email protected]>
Bumps [actions/setup-python](https://github.com/actions/setup-python)
from 6.0.0 to 6.1.0.

- [Release notes](https://github.com/actions/setup-python/releases)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
PR-URL: nodejs#60927
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Ulises Gascón <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
It's a common ecosystem pattern to map a source root directory to
`@/` but it requires special tooling support. This turns `#/*` into
a more realistic alternative for that pattern.

PR-URL: nodejs#60864
Reviewed-By: Guy Bedford <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Claudio Wunder <[email protected]>
Reviewed-By: Zeyu "Alex" Yang <[email protected]>
Bumps [mdast-util-to-hast](https://github.com/syntax-tree/mdast-util-to-hast) from 13.2.0 to 13.2.1.
- [Release notes](https://github.com/syntax-tree/mdast-util-to-hast/releases)
- [Commits](syntax-tree/mdast-util-to-hast@13.2.0...13.2.1)

---
updated-dependencies:
- dependency-name: mdast-util-to-hast
  dependency-version: 13.2.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
PR-URL: nodejs#60930
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: nodejs#60376
Fixes: nodejs#60322
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Adds links to the File modes section from fsPromises.open(),
fsPromises.mkdir(), and fs.mkdir() to improve discoverability
of file permission documentation.

PR-URL: nodejs#60286
Reviewed-By: Ulises Gascón <[email protected]>
Original commit message:

    [regexp] Fix modifiers for ChoiceNodes

    Each alternative might modify flags when their sub-graph is emitted.
    We need to restore flags to the value at the beginning of a ChoiceNode
    for each alternative.

    Drive-by: Move regexp-modifiers test out of harmony/

    Fixed: 447583670
    Change-Id: I9f41e51f34df7659461da0a4fcd28b7e157f52e1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6995181
    Reviewed-by: Jakob Linke <[email protected]>
    Commit-Queue: Patrick Thier <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#102838}

Refs: v8/v8@72b0e27
Refs: nodejs#60030
PR-URL: nodejs#60706
Backport-PR-URL: nodejs#60706
Original commit message:

    [riscv] Fix compilation error and disassembling error when enabling the RISC-V C extension

    Change-Id: I34a930f7bcda514698ce64d132cbe05fa32b323c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6934163
    Reviewed-by: Yahan Lu (LuYahan) <[email protected]>
    Reviewed-by: Kasper Lund <[email protected]>
    Commit-Queue: Yahan Lu (LuYahan) <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#102431}

Refs: v8/v8@209d2db
Co-authored-by: kxxt <[email protected]>
@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/gyp
  • @nodejs/security-wg
  • @nodejs/v8-update

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. v25.x Issues that can be reproduced on v25.x or PRs targeting the v25.x-staging branch. v8 engine Issues and PRs related to the V8 dependency. labels Jan 9, 2026
@sxa
Copy link
Member

sxa commented Jan 9, 2026

@kxxt Just to check - this is an issue at runtime when you run with --riscv-c-extension? I was a bit confused by this issue saying it was a compilation failure and thought it was something that showed up when you were running the node build ...

Scratch that - have confirmed the problem with a v25.x-staging build and also that this fixes it. Failure was as follows:

sxa@bananapif3:~$ ./node25xs1-vanilla --riscv-c-extension


#
# Fatal error in , line 0
# Check failed: kMaxSizeOfMoveAfterFastCall == pc_offset() - before_offset.
#
#
#
#FailureMessage Object: 0x3fdc0423a0
----- Native stack trace -----

 1: 0x5aee44  [./node25xs1-vanilla]
 2: 0x1d48566 V8_Fatal(char const*, ...) [./node25xs1-vanilla]
 3: 0x116c8da  [./node25xs1-vanilla]
 4: 0x116ca70  [./node25xs1-vanilla]
 5: 0x11863b6  [./node25xs1-vanilla]
 6: 0xe1c616  [./node25xs1-vanilla]
 7: 0xe44fbe  [./node25xs1-vanilla]
 8: 0xe45546  [./node25xs1-vanilla]
 9: 0xe46a48  [./node25xs1-vanilla]
10: 0xe6ddc8  [./node25xs1-vanilla]
11: 0x12e5e24  [./node25xs1-vanilla]
Trace/breakpoint trap
sxa@bananapif3:~$ 

@aduh95 aduh95 requested a review from a team as a code owner January 9, 2026 23:32
@kxxt
Copy link
Contributor Author

kxxt commented Jan 9, 2026

@kxxt Just to check - this is an issue at runtime when you run with --riscv-c-extension? I was a bit confused by this issue saying it was a compilation failure and thought it was something that showed up when you were running the node build ...

Scratch that - have confirmed the problem with a v25.x-staging build and also that this fixes it. Failure was as follows:

sxa@bananapif3:~$ ./node25xs1-vanilla --riscv-c-extension


#
# Fatal error in , line 0
# Check failed: kMaxSizeOfMoveAfterFastCall == pc_offset() - before_offset.
#
#
#
#FailureMessage Object: 0x3fdc0423a0
----- Native stack trace -----

 1: 0x5aee44  [./node25xs1-vanilla]
 2: 0x1d48566 V8_Fatal(char const*, ...) [./node25xs1-vanilla]
 3: 0x116c8da  [./node25xs1-vanilla]
 4: 0x116ca70  [./node25xs1-vanilla]
 5: 0x11863b6  [./node25xs1-vanilla]
 6: 0xe1c616  [./node25xs1-vanilla]
 7: 0xe44fbe  [./node25xs1-vanilla]
 8: 0xe45546  [./node25xs1-vanilla]
 9: 0xe46a48  [./node25xs1-vanilla]
10: 0xe6ddc8  [./node25xs1-vanilla]
11: 0x12e5e24  [./node25xs1-vanilla]
Trace/breakpoint trap
sxa@bananapif3:~$ 

Ah, compilation error here should mean V8 JIT compilation error. I copied the words from the V8 commit msg, I have updated the description to avoid confusion.

It appears that the 25.x-staging branch has been force pushed. I will rebase this PR shortly.

@aduh95
Copy link
Contributor

aduh95 commented Jan 9, 2026

It appears that the 25.x-staging branch has been force pushed. I will rebase this PR shortly.

FYI it will be force pushed again next week when the security release gets released, you might prefer waiting for that before rebasing.

@kxxt
Copy link
Contributor Author

kxxt commented Jan 9, 2026

It appears that the 25.x-staging branch has been force pushed. I will rebase this PR shortly.

FYI it will be force pushed again next week when the security release gets released, you might prefer waiting for that before rebasing.

Thanks for the heads up. Let's wait until the security release is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. v8 engine Issues and PRs related to the V8 dependency. v25.x Issues that can be reproduced on v25.x or PRs targeting the v25.x-staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.