-
-
Notifications
You must be signed in to change notification settings - Fork 32.9k
Description
This is similar to #59553, but for Linux ppc64le.
#58761 skipped several single-executable-application-test*
tests on Linux ppc64le for Node.js 20.19.3 onwards:
- test-single-executable-application
- test-single-executable-application-assets
- test-single-executable-application-assets-raw
- test-single-executable-application-disable-experimental-sea-warning
- test-single-executable-application-empty
- test-single-executable-application-snapshot
- test-single-executable-application-snapshot-and-code-cache
- test-single-executable-application-snapshot-worker
- test-single-executable-application-use-code-cache
There was an attempt to bisect during Node.js 20.19.3, but it was inconclusive (one bisect pointed to a WPT commit, a second bisect pointed to the release commit).
The same tests were skipped for Node.js 22.18.0 in #58914.
We're now seeing similar test failures when we build main
with clang (the tests are currently passing when built with gcc).
- sequential.test-single-executable-application
- sequential.test-single-executable-application-assets
- sequential.test-single-executable-application-assets-raw
- sequential.test-single-executable-application-disable-experimental-sea-warning
- sequential.test-single-executable-application-empty
- sequential.test-single-executable-application-snapshot
- sequential.test-single-executable-application-snapshot-and-code-cache
- sequential.test-single-executable-application-snapshot-worker
- sequential.test-single-executable-application-use-code-cache
In these cases the injected binary is crashing (SIGSEGV), e.g.
https://ci.nodejs.org/job/richardlau-node-test-commit-plinux/13/nodes=rhel8-ppc64le/console
17:58:07 not ok 4707 sequential/test-single-executable-application-empty
17:58:07 ---
17:58:07 duration_ms: 10763.88000
17:58:07 severity: fail
17:58:07 exitcode: 1
17:58:07 stack: |-
17:58:07 Copied /home/iojs/build/workspace/richardlau-node-test-commit-plinux/nodes/rhel8-ppc64le/out/Release/node to /home/iojs/node-tmp/.tmp.4706/sea
17:58:07 Injected /home/iojs/node-tmp/.tmp.4706/sea-prep.blob into /home/iojs/node-tmp/.tmp.4706/sea
17:58:07 [process 61879]: --- stderr ---
17:58:07
17:58:07 [process 61879]: --- stdout ---
17:58:07
17:58:07 [process 61879]: status = null, signal = SIGSEGV
17:58:07 /home/iojs/build/workspace/richardlau-node-test-commit-plinux/nodes/rhel8-ppc64le/test/common/child_process.js:98
17:58:07 throw error;
17:58:07 ^
17:58:07
17:58:07 Error: - process terminated with status null, expected 0
17:58:07 - process terminated with signal SIGSEGV, expected null
17:58:07 at Object.<anonymous> (/home/iojs/build/workspace/richardlau-node-test-commit-plinux/nodes/rhel8-ppc64le/test/sequential/test-single-executable-application-empty.js:56:1)
17:58:07 at Module._compile (node:internal/modules/cjs/loader:1737:14)
17:58:07 at Object..js (node:internal/modules/cjs/loader:1870:10)
17:58:07 at Module.load (node:internal/modules/cjs/loader:1469:32)
17:58:07 at Module._load (node:internal/modules/cjs/loader:1289:12)
17:58:07 at TracingChannel.traceSync (node:diagnostics_channel:322:14)
17:58:07 at wrapModuleLoad (node:internal/modules/cjs/loader:238:24)
17:58:07 at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)
17:58:07 at node:internal/main/run_main_module:33:47 {
17:58:07 command: '/home/iojs/node-tmp/.tmp.4706/sea'
17:58:07 }
17:58:07
17:58:07 Node.js v25.0.0-pre
17:58:07 ...
These appear to be consistent crashes and not flakes.
I tried to run one of the injected binaries through lldb, but it wasn't helpful(?):
[iojs@test-osuosl-rhel8-ppc64--le-4 sea]$ lldb ./sea
(lldb) target create "./sea"
Current executable set to '/tmp/sea/sea' (powerpc64le).
(lldb) run
Process 1609342 launched: '/tmp/sea/sea' (powerpc64le)
Process 1609342 stopped
* thread #1, name = 'sea', stop reason = signal SIGSEGV: address not mapped to object (fault address: 0x7fff8a545c18)
frame #0: 0x00007fff8a545c18
error: memory read failed for 0x7fff8a545c00
(lldb) [iojs@test-osuosl-rhel8-ppc64--le-4 sea]$
cc @nodejs/single-executable