Skip to content

[LoongArch64] Execution crash: V8 Fatal error "AssembleArchSelect Unimplemented arch_opcode is : 209" #63721

@Javonne-liu

Description

@Javonne-liu

Version

main

Platform

Linux 90 6.9.0-rc3_default #1 SMP PREEMPT Thu Apr 11 12:24:48 UTC 2024 loongarch64 GNU/Linux

Subsystem

v8

What steps will reproduce the bug?

  1. Successfully compile Node.js on a LoongArch64 architecture machine.
  2. Run the command to generate documentation, which executes the newly built node binary:
    make out/doc/api/addons.html

Error Log:

[loongarch@90 node]$ make out/doc/api/addons.html
npm warn cli npm v11.16.0 does not support Node.js v27.0.0-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/.

added 369 packages, and audited 371 packages in 10s

142 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
mkdir -p out/doc/api
cp -r doc/api out/doc
AssembleArchSelect Unimplemented arch_opcode is : 209
UNIMPLEMENTED code_generator_loong64: AssembleArchSelect at line 4732


#
# Fatal error in , line 0
# unimplemented code
#
#
#
#FailureMessage Object: 0x7fffee5105c0
----- Native stack trace -----

 1: 0x5555571b1748  [/home/loongarch/liujh/node/node]
 2: 0x5555596649f0 V8_Fatal(char const*, ...) [/home/loongarch/liujh/node/node]
 3: 0x555559d00344  [/home/loongarch/liujh/node/node]
 4: 0x55555a075db0  [/home/loongarch/liujh/node/node]
 5: 0x55555a0776bc  [/home/loongarch/liujh/node/node]
 6: 0x555559813558  [/home/loongarch/liujh/node/node]
 7: 0x55555981efd8  [/home/loongarch/liujh/node/node]
 8: 0x55555979c5c4  [/home/loongarch/liujh/node/node]
 9: 0x55555803e38c  [/home/loongarch/liujh/node/node]
10: 0x55555804feb4  [/home/loongarch/liujh/node/node]
11: 0x555558051b00  [/home/loongarch/liujh/node/node]
12: 0x5555588ac85c  [/home/loongarch/liujh/node/node]
13: 0x5555571b2774  [/home/loongarch/liujh/node/node]
14: 0x7fffeff7a454  [/usr/lib64/libc.so.6]
15: 0x7fffeffff8cc  [/usr/lib64/libc.so.6]
make: *** [Makefile:886: out/doc/api/addons.html] Error 133

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

Always reproduces on LoongArch64 when executing the make out/doc/api/addons.html command.
This has been fixed in the latest commit for the v8 loong64 architecture.
(Ref: https://chromium-review.googlesource.com/c/v8/v8/+/7801520).
I verified this locally by patching deps/v8. With the patch applied, make out/doc/api/addons.html runs successfully and the crash is completely resolved.

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

The command make out/doc/api/addons.html should complete successfully without crashing, and the Node.js binary should execute normally on LoongArch64.

What do you see instead?

While the Node.js compilation succeeds, executing the resulting binary causes a V8 fatal error. The process fails with AssembleArchSelect Unimplemented arch_opcode is : 209.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    loong64Issues and PRs related to the loong64 architecture.v8 engineIssues and PRs related to the V8 dependency.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions