-
Notifications
You must be signed in to change notification settings - Fork 30.2k
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
build: build v8 with -fvisibility=hidden -fvisibility-inlines-hidden #56290
base: main
Are you sure you want to change the base?
Conversation
Review requested:
|
FWIW changing compile/link options will invalidate any stored CCACHE entries, which would result in more of V8 having to be recompiled. Generally most of the x64 CI machines in Jenkins are now 4 GB RAM + swap (2 GB). Anything running on a machine with |
In case anyone is curious, here is a bar chart I generated with ChatGPT about the busiest hours of the CI, using data from https://ci.nodejs.org/job/node-test-pull-request/api/json?tree=builds[timestamp,url,result] (past 100 jobs) |
Dem 8 hour workday Europeans kicking off a quick CI run right before dinner, huh? That's a cool graph! |
3752a7e
to
ad5b353
Compare
(Unless you live in Spain, where 8PM is considered early for dinner). In seriousness I think the spike is probably due to being an overlap of working hours between Europe and Americas, in any case 16-18 CET would be the time to avoid testing something that invalidates the ccache. I dumped the script to https://gist.github.com/joyeecheung/6006b7ee781a2a619021767e0c8f2c01 though I have no idea if it works locally. Rebased and added -fvisibility-inlines-hidden. It seems the Node.js files are missing the flags too, though I am not yet sure if all the other headers are set up correctly for us to apply the flags directly without breaking addons, so I've commented it out. |
Started a CI, though I noticed that test-orka-macos11-x64-1 had been offline for a couple of days, creating a very long osx build queue, I just cleaned it up and brought it online, so not sure how well it would fare after this CI gets its turn in the osx jobs. If it doesn't look great in the build load, then not adding |
Looks like the build is still timing out on some platforms, need to try again in a less busy hour... There was an error on AIX that doesn't show up on other platforms https://ci.nodejs.org/job/node-test-commit-aix/55380/nodes=aix72-ppc64/testReport/junit/addons/heap-profiler/test/
AFAICT, it shouldn't be failing as |
Seems strange that it worked 3 weeks ago but not in the recent run. Symbol exporting is different on AIX -- we have https://github.com/nodejs/node/blob/main/tools/create_expfile.sh to generate an exports file containing the symbols that is used for addons: Lines 2 to 6 in 529b56e
We haven't touched it in five years -- I'm not even sure it's needed anymore since https://gcc.gnu.org/gcc-7/changes.html has
@abmusse Is this something you can look into? |
Split from #56275 since it seems to cause gcc on some machines in the CI to time out or run out of memory. Trying to see if it's just a CI hiccup or if it's something that needs to be worked around.