Skip to content

Intermittent crash on out/doc/llms.txt target on RISC-V #66845

Open

Description

@sxa

Covered in part by nodejs/build#4099 (comment) but raising as a separate issue because:

  • The crash is still occurring in main on my SpacemiT-K1 board and fixes for othrt crashes have not resolved this
  • build: skip dockit on riscv64 #62251 has not resolved it as the out/doc/llms.txt target is still executed during the build process and that is where the crashes are occurring.

As mentioned in the issue comment referenced above there are different symptoms on different runs.

Sometimes it goes through ok (sample)

Sometimes it just throws a segfault

Sample run

09:20:29 Skipping out/doc/api/all.json (not currently supported by riscv64 machines)
09:20:30 npm warn cli npm v11.20.0 does not support Node.js v26.12.1-pre. This version of npm supports the following node versions: `^20.17.0 || >=22.9.0`. You can find the latest version at https://nodejs.org/.
09:21:13 
09:21:13 added 280 packages, and audited 282 packages in 44s
09:21:13 
09:21:13 137 packages are looking for funding
09:21:13   run `npm fund` for details
09:21:14 
09:21:14 2 vulnerabilities (1 high, 1 critical)
09:21:14 
09:21:14 To address all issues, run:
09:21:14   npm audit fix
09:21:14 
09:21:14 Run `npm audit` for details.
09:22:09 Segmentation fault
09:22:09 make[1]: *** [Makefile:925: out/doc/llms.txt] Error 139
09:22:09 make: *** [Makefile:689: run-ci] Error 2
Sometimes it gives a stack trace

Sample run

13:34:37 Skipping out/doc/api/all.json (not currently supported by riscv64 machines)
13:34:38 npm warn cli npm v12.1.0 does not support Node.js v27.0.0-pre. This version of npm supports the following node versions: `^22.22.2 || ^24.15.0 || >=26.0.0`. You can find the latest version at https://nodejs.org/.
13:35:20 
13:35:20 added 309 packages, and audited 310 packages in 43s
13:35:20 
13:35:20 147 packages are looking for funding
13:35:20   run `npm fund` for details
13:35:20 
13:35:20 found 0 vulnerabilities
13:35:25 [12:35:25.153] DEBUG (generators): Starting pipeline {"generators":"@doc-kit/generator-react/llms-txt","threads":1}
13:35:25 [12:35:25.286] DEBUG (WorkerPool): WorkerPool initialized {"threads":1,"workerScript":"file:///home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/tools/doc/node_modules/@doc-kit/core/src/threading/chunk-worker.mjs"}
13:35:25 [12:35:25.299] DEBUG (generators): Scheduling "ast" {"dependsOn":"none","streaming":true}
13:35:25 [12:35:25.303] DEBUG (generators): Scheduling "metadata" {"dependsOn":"@doc-kit/core/ast","streaming":true}
13:35:25 [12:35:25.306] DEBUG (generators): Scheduling "llms-txt" {"dependsOn":"@doc-kit/core/metadata"}
13:35:25 [12:35:25.309] DEBUG (generators): Starting "ast"
13:35:25 [12:35:25.370] DEBUG (parallel): Distributing 69 items across 7 chunks {"generator":"ast","chunks":7,"chunkSize":10,"threads":1}
13:35:25 [12:35:25.376] DEBUG (caching): Starting collection for "@doc-kit/core/ast"
13:35:50 Stacktrace:
13:35:50     ptr0=0x3b3c751c51
13:35:50     ptr1=0x1237703f90
13:35:50     ptr2=0x98
13:35:50     ptr3=(nil)
13:35:50     ptr4=(nil)
13:35:50     ptr5=(nil)
13:35:50     failure_message_object=0x3fc75df850
13:35:50 
13:35:50 
13:35:50 #
13:35:50 # Safely terminating process due to hitting Isolate::PushParamsAndDie
13:35:50 #
13:35:50 FATAL ERROR: Isolate::PushParamsAndDie unknown visitor id in heap object iteration
13:35:50 ----- Native stack trace -----
13:35:50 
13:35:50  1: 0x2aab1c2d14  [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50  2: 0x2aab1c2e14 node::OnFatalError(char const*, char const*) [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50  3: 0x2aab718770  [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50  4: 0x2aab85594c  [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50  5: 0x2aab852272  [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50  6: 0x2aab852142  [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50  7: 0x2aac82b090 v8::platform::DefaultJobState::Join() [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50  8: 0x2aac82b5d0 v8::platform::DefaultJobHandle::Join() [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50  9: 0x2aab85761c  [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50 10: 0x2aab7e40f0  [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50 11: 0x2aab7f193a  [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50 12: 0x2aab7f17c6  [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50 13: 0x2aac2b08f8  [/home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/node]
13:35:50 
13:35:50 ----- JavaScript stack trace -----
13:35:50 
13:35:50 1: defineSkip (file:///home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/tools/doc/node_modules/micromark/lib/create-tokenizer.js:184:29)
13:35:50 2: subcontent (file:///home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/tools/doc/node_modules/micromark-util-subtokenize/index.js:166:19)
13:35:50 3: subtokenize (file:///home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/tools/doc/node_modules/micromark-util-subtokenize/index.js:69:30)
13:35:50 4: postprocess (file:///home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/tools/doc/node_modules/micromark/lib/postprocess.js:14:11)
13:35:50 5: fromMarkdown (file:///home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/tools/doc/node_modules/mdast-util-from-markdown/lib/index.js:79:28)
13:35:50 6: parser (file:///home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/tools/doc/node_modules/remark-parse/lib/index.js:33:12)
13:35:50 7: parse (file:///home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/tools/doc/node_modules/unified/lib/index.js:668:12)
13:35:50 8: processChunk (file:///home/iojs/workspace/node-test-commit-rvlinux/nodes/rv64gc/tools/doc/node_modules/@doc-kit/core/src/generators/ast/generate.mjs:96:23)
13:35:50 
13:35:50 
13:35:50 Aborted
13:35:50 make[1]: *** [Makefile:925: out/doc/llms.txt] Error 134
13:35:50 make: *** [Makefile:694: run-ci] Error 2

FYI @nodejs/platform-riscv64

Activity

  1. added
    riscv64Issues and PRs related to the 64-bit RISC-V architecture.
    on Oct 19, 2026
  2. sxa commented on Oct 19, 2026

    @sxa
    MemberAuthor

    Also noting that on a JH7110 board building v24.x with gcc I'm also getting Segmentation faults in the test-doc` target. While this may not be related I'm mentioning it here for reference - it can be split out into a separate issue later if required:

    make -s tooltest
    .....
    ----------------------------------------------------------------------
    Ran 5 tests in 0.011s
    
    OK
    make -s test-doc
    Segmentation fault
    Skipping tools/doc/node_modules (no crypto and/or no ICU)
    Segmentation fault
    Skipping doc-only (no crypto and/or no ICU)
    Segmentation fault
    Segmentation fault
    Skipping lint-js-doc (no crypto and/or no ICU)
    Segmentation fault
    Running Markdown linter...
    Segmentation fault
    make[1]: *** [Makefile:1400: tools/.mdlintstamp] Error 139
    make: *** [Makefile:343: test] Error 2
    

    Need to re-test this with NODE_OPTIONS=--disable-wasm-trap-handler

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    riscv64Issues and PRs related to the 64-bit RISC-V architecture.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions