You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tl;dr the default shell on AIX is not bash so some of the tests in select-compiler.sh weren't evaluated correctly, and the job ended up compiling with gcc4.8.
I'm closing this as resolved, but if anyone sees one of those fails here is the explanation.
select-compiler.sh has always been silently failing on AIX and picking up gcc4.8. My assumption is that it's because it uses bash features, but the the aix Jenkins job was calling the default sh which is not bash.
During the last few days we landed several PRs with code that actually requires gcc4.9.
The AIX job was offline during the last few days
When I brought it back online (2018-10-28 ~10PM EDT) it started surfacing the issue with the wrong gcc version.
At 2018-10-29 ~4AM EDT Joyee pinged the build IRC channel
I made the following change; (adding an explicit bash shebang #!/usr/bin/bash -xe)
Everything works (that is select-compiler.sh picks gcc6 and the code in master compiles and passed the test suite).
Ok thanks, got it. I suspect it was just using the wrong compiler since the last update I made. I had checked the release jobs carefully, but I guess I needed to check all of them (one of the reasons I was cautious about changing the script).
Separately, I think we should open an issue in the build repo any time we remove a platform from one of the jobs so that it gets maximum visibility.
Activity
addaleax commentedon Oct 29, 2018
Looks like this comes from #23808, on which CI was run but not on AIX?
richardlau commentedon Oct 29, 2018
#23808 was the most recent change to
aliased_buffer.h.richardlau commentedon Oct 29, 2018
@refack @nodejs/build-infra Any ideas why the CI for #23808 (comment) (https://ci.nodejs.org/job/node-test-pull-request/18121/) didn't run on AIX?
richardlau commentedon Oct 29, 2018
Also from the build log https://ci.nodejs.org/job/node-test-commit-aix/18405/nodes=aix61-ppc64/consoleFull it looks like gcc 4.8.5 is being used, which doesn't look right:
richardlau commentedon Oct 29, 2018
I think this error suggests the script is being run with the default
kornshell instead ofbash?@nodejs/build-infra Can someone check this on the AIX CI machines?
richardlau commentedon Oct 29, 2018
This is what the equivalent
select-compiler.shoutput on AIX is supposed to look like in a recent working build off master:https://ci.nodejs.org/job/node-test-commit-aix/18415/nodes=aix61-ppc64/consoleFull
We should be using gcc 6.3 on AIX for master (https://github.com/nodejs/node/blob/master/BUILDING.md#aix).
refack commentedon Oct 29, 2018
I fixed a bug in the build script around 4AM EDT at @joyeecheung's ping on IRC

tl;dr the default shell on AIX is not
bashso some of the tests inselect-compiler.shweren't evaluated correctly, and the job ended up compiling with gcc4.8.I'm closing this as resolved, but if anyone sees one of those fails here is the explanation.
refack commentedon Oct 29, 2018
There were infra issues, so the AIX job was disabled for a few days. I turned it back on last night.
richardlau commentedon Oct 29, 2018
Is that logged anywhere? That means that for the few days it was disabled none of the CI's were running on AIX.
refack commentedon Oct 29, 2018
I'm not sure if I sent out a notification on IRC...
There was a notice that one machines whet offline for manual testing https://github.com/nodejs/build/projects/2
P.S. Anyway as policy whenever we (the Build WG) take a platform offline, we take responsibility to chase down regressions afterwards, if any arise.
mhdawson commentedon Oct 29, 2018
@refack I don't quite understand, the last update to https://github.com/nodejs/build/commits/master/jenkins/scripts/select-compiler.sh was 27 days ago
based on the history?
refack commentedon Oct 29, 2018
@mhdawson AFAICT this is what happened:
select-compiler.shhas always been silently failing on AIX and picking up gcc4.8. My assumption is that it's because it usesbashfeatures, but the the aix Jenkins job was calling the defaultshwhich is notbash.#!/usr/bin/bash -xe)select-compiler.shpicks gcc6 and the code inmastercompiles and passed the test suite).mhdawson commentedon Oct 29, 2018
Ok thanks, got it. I suspect it was just using the wrong compiler since the last update I made. I had checked the release jobs carefully, but I guess I needed to check all of them (one of the reasons I was cautious about changing the script).
Separately, I think we should open an issue in the build repo any time we remove a platform from one of the jobs so that it gets maximum visibility.