Skip to content

build: aix: deoptimise implementation-visitor to avoid segfault#61550

Merged
sxa merged 1 commit intonodejs:mainfrom
sxa:aix_shared_deopt
Jan 30, 2026
Merged

build: aix: deoptimise implementation-visitor to avoid segfault#61550
sxa merged 1 commit intonodejs:mainfrom
sxa:aix_shared_deopt

Conversation

@sxa
Copy link
Copy Markdown
Member

@sxa sxa commented Jan 27, 2026

When building node.js with --shared on AIX the torque execution consistently fails with a segmentation fault. This has been tracked down by a change in the v20 timeframe when V8 was updated to 11.3.244.4 but at an initial cursory glance it's not immediately clear which change caused it.

By experimentation (by other teams I have spoken to and extra work by myself) it has also been observed that dropping the optimisation level from -O3 to -O1 on one source file reliably prevents the crash from occurring. Just to be clear, this problem does not occur on the non-shared library build therefore this change reduces the optimisation only for the shared build and only on AIX.

It is hoped that with this change we can reactivate the node-test-commit-aix-shared-lib job and maybe even add in the additional testing being proposed under #61463 in the future.

@sxa sxa self-assigned this Jan 27, 2026
@nodejs-github-bot
Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/gyp
  • @nodejs/v8-update
@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. tools Issues and PRs related to the tools directory. v8 engine Issues and PRs related to the V8 dependency. labels Jan 27, 2026
@sxa
Copy link
Copy Markdown
Member Author

sxa commented Jan 27, 2026

Note: A build with --shared including these changes is visible at https://ci.nodejs.org/job/node-test-commit-aix/nodes=aix72-ppc64/60836/console and doesn't not contain the crash seen previously.

@sxa sxa force-pushed the aix_shared_deopt branch from 09b984e to d341da8 Compare January 27, 2026 18:41
@sxa
Copy link
Copy Markdown
Member Author

sxa commented Jan 27, 2026

(Force push before anyone reviews it in order to fix a typo in the commit message)

Copy link
Copy Markdown
Member

@richardlau richardlau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am wondering if it is more technically correct to put these in cflags_cc but based on other existing usages in the same gyp file and that it has been tested to work LGTM.

@sxa
Copy link
Copy Markdown
Member Author

sxa commented Jan 27, 2026

Re-running test-macos GHA as first one failued

@sxa sxa changed the title build: aix: deoptimse implementation-visitor to avoid segfault Jan 28, 2026
@sxa sxa merged commit 3fbb8b7 into nodejs:main Jan 30, 2026
55 of 56 checks passed
@sxa
Copy link
Copy Markdown
Member Author

sxa commented Jan 30, 2026

Landed in 3fbb8b7

aduh95 pushed a commit that referenced this pull request Feb 2, 2026
PR-URL: #61550
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
aduh95 pushed a commit that referenced this pull request Feb 2, 2026
PR-URL: #61550
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
sxa added a commit to sxa/node that referenced this pull request Feb 9, 2026
PR-URL: nodejs#61550
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
aduh95 pushed a commit that referenced this pull request Feb 10, 2026
PR-URL: #61550
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
aduh95 pushed a commit that referenced this pull request Feb 14, 2026
PR-URL: #61550
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
aduh95 pushed a commit that referenced this pull request Feb 22, 2026
PR-URL: #61550
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-ci PRs that need a full CI run. tools Issues and PRs related to the tools directory. v8 engine Issues and PRs related to the V8 dependency.

4 participants