-
-
Notifications
You must be signed in to change notification settings - Fork 31.6k
deps: support madvise(3C) across ALL illumos revisions #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
base: main
Are you sure you want to change the base?
Conversation
Review requested:
|
Currently testing on a post-illumos#14418 environment. The Jenkins agents for |
This change should be a literal NOP for ANY OTHER BUILD PLATFORM, even Oracle Solaris, since the |
Do I have to promote this to a non-draft PR to get Jenkins to run a build? |
Failed to start CI⚠ No approving reviews found ✘ Refusing to run CI on potentially unsafe PRhttps://github.com/nodejs/node/actions/runs/14914717962 |
Thank you @cjihrig ! |
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:
Which was the same one when I updated the V8 pointer-updates for illumos. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thank you all for the feedback and confirmation on this. I hope to use the experience here as a way to get V8 itself to accept this and the VA48 behavior in their upstream-from-here repo. (I'll have to figure out the google tooling but that's my problem not yours.) One more thing I'd like to reiterate: "As mentioned earlier, this may allow less byzantine build agents for the Node CI." It also means, I think, that we could introduce a non-SmartOS illumos distro build agent if we wished. OmniOS just released its new LTS release (r151054), and that would make a FINE place (3 years support, 2 years primary lifetime) to drop a build agent that'll confirm greater-illumos stability. I'm now running a node build with this fix in place on my newly-updated home server running OmniOS. I will report back here with results. |
I think it's fine to float the patch as long as the path for upstreaming it is determined. There are two things to fix before this PR can land though:
|
@targos => A better title such as I don't wanna push an update with v8_embedder_string fixes until I got the title right as well. |
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 mman.h file in use is pre-or-post-illumos#14418 so builds can work either way.
Oh shoot, forgot my branch is directly linked to this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, LGTM!
In illumos, madvise(3C) now takes
void *
for its first argument post-illumos#14418, but usescaddr_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