Skip to content

deps: illumos madvise() pre-and-post-illumos#14418 #58237

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

danmcd
Copy link
Contributor

@danmcd danmcd commented May 8, 2025

In illumos, madvise(3C) now takes void * for its first argument post-illumos#14418, but uses caddr_t pre-illumos#14418. This fix will detect if the illumos is pre-or-post-illumos#14418 so builds can work either way.

Cf. https://illumos.org/issues/14418

In illumos, madvise(3C) now takes `void *` for its first argument
post-illumos#14418, but uses `caddr_t` pre-illumos#14418. This fix
will detect if the illumos is pre-or-post-illumos#14418 so builds can
work either way.
@nodejs-github-bot
Copy link
Collaborator

Review requested:

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

@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. v8 engine Issues and PRs related to the V8 dependency. labels May 8, 2025
@danmcd
Copy link
Contributor Author

danmcd commented May 8, 2025

Currently testing on a post-illumos#14418 environment. The Jenkins agents for smartos actually use pre-illumos#14418 environments. This fix plans on working in both (which cannot happen today), which will allow me to revisit, perhaps, what a smartos or even an illumos of some other flavor (e.g. OmniOS or OpenIndiana) build agent might look like. Today's smartos agents are a bit convoluted, thanks in no small part to fallout from illumos#14418.

@danmcd
Copy link
Contributor Author

danmcd commented May 8, 2025

This change should be a literal NOP for ANY OTHER BUILD PLATFORM, even Oracle Solaris, since the __illumos__ symbol is in use for cpp directives.

@danmcd
Copy link
Contributor Author

danmcd commented May 8, 2025

Do I have to promote this to a non-draft PR to get Jenkins to run a build?

@cjihrig cjihrig added the request-ci Add this label to start a Jenkins CI on a PR. label May 8, 2025
@github-actions github-actions bot added request-ci-failed An error occurred while starting CI via request-ci label, and manual interventon is needed. and removed request-ci Add this label to start a Jenkins CI on a PR. labels May 8, 2025
Copy link
Contributor

github-actions bot commented May 8, 2025

Failed to start CI
   ⚠  No approving reviews found
   ✘  Refusing to run CI on potentially unsafe PR
https://github.com/nodejs/node/actions/runs/14914717962

@nodejs-github-bot
Copy link
Collaborator

@danmcd
Copy link
Contributor Author

danmcd commented May 8, 2025

Thank you @cjihrig !

@nodejs-github-bot
Copy link
Collaborator

@danmcd danmcd marked this pull request as ready for review May 9, 2025 04:52
@danmcd
Copy link
Contributor Author

danmcd commented May 9, 2025

This is good news and I've updated this PR to ready-for-review. The Node CI for SmartOS uses a pre-illumos#14418 illumos revision, and my local build uses a post-illumos#14418 revision. The same code now works before-and-after the illumos change in question. As mentioned earlier, this may allow less byzantine build agents for the Node CI.

The Node CI results are above, and my local build's test results were all successfull but one failure:

=== release test-child-process-stdio-reuse-readable-stdio ===                 
Path: parallel/test-child-process-stdio-reuse-readable-stdio
Command: out/Release/node --test-reporter=./test/common/test-error-reporter.js --test-reporter-destination=stdout /home/danmcd/node/test/parallel/test-child-process-stdio-reuse-readable-stdio.js
--- TIMEOUT ---

Which was the same one when I updated the V8 pointer-updates for illumos.

@richardlau richardlau added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. and removed request-ci-failed An error occurred while starting CI via request-ci label, and manual interventon is needed. labels May 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. needs-ci PRs that need a full CI run. v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants