-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
AIX - failure in test-timers-args.js #5089
Comments
@gireeshpunathil has investigated and the net is that there is a problem in the instructions being generated with respect to power 6 support. We've not seen it so far because our internal machines have all be power 7 so far. @gireeshpunathil debug logRecreatable easily in the CI system with this small code: function bar() {} bash-4.3$ ./node t.js 2000 Investigating further.Looks like this is a JIT bug. The crash occurs soon after we compile exports.setTimeout function: bash-4.3$ ./node --trace_opt t.js 2000 If we skip this method from being optimize compiled, the crash is avoided: Next, trying to compare the code generated in good (dev) and bad (ci) machine. The code generated seem to be the same, the notable difference is that all our dev systems are power7 while ci is hosted on power6.
Looks like only the first instruction in a sequence is invalid, while the rest if properly formed. ... Looks like isel (Integer Select) is the instruction which causes SIGILL in power6. Tihs instruction is decoded thus in power7: Inspecting whether this is supported in power6.bash-4.3$ hostname bash-4.3$ g++ foo.cpp bash-4.3$ hostname Clearly, this is not supported on power6, on which CI is hosted. |
Talked to @mtbrandy and he will add the code to V8 master to handle that case properly on Power 6. Once in I'll propose a floating patch to fix in master until we pick up a level of V8 that includes the fix. |
Float v8 patch, which has been committed to v8 master and backported to 4.8 and 4.9 in google repos, onto 4.8 v8 in deps to resolve nodejs#5089 Original title/commit from google repos for 4.8 is: PPC: [turbofan] Support for CPU models lacking isel. v8/v8@2e4da65
Putting together PR to pull into node tree, just testing now and will submit PR when https://ci.nodejs.org/job/node-test-commit-aix/48/ completes. |
Run of v8 tests in Node tree https://ci.nodejs.org/job/node-test-commit-v8-linux-mdawson/nodes=iojs-ibm-ppcle-ubuntu1404-64-2/15/console |
V8 test run looks good. Some unrelated issue I need to figure out in non-ppc runs, but ppc one ran fine and the only v8 file changed is for ppc so we're good. |
PR #5293 |
node-test-pull-request CI run - https://ci.nodejs.org/job/node-test-pull-request/1695/ |
Float v8 patch, which has been committed to v8 master and backported to 4.8 and 4.9 in google repos, onto 4.8 v8 in deps to resolve nodejs/node#5089 Original title/commit from google repos for 4.8 is: PPC: [turbofan] Support for CPU models lacking isel. v8/v8@2e4da65 PR-URL: nodejs/node#5293 Fixes: nodejs/node#5089 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
Float v8 patch, which has been committed to v8 master and backported to 4.8 and 4.9 in google repos, onto 4.8 v8 in deps to resolve nodejs/node#5089 Original title/commit from google repos for 4.8 is: PPC: [turbofan] Support for CPU models lacking isel. v8/v8@2e4da65 PR-URL: nodejs/node#5293 Fixes: nodejs/node#5089 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
Merged 789ad2f PPC: [turbofan] Support for CPU models lacking isel. (See nodejs/node#5089) R=hablich@chromium.org, adamk@chromium.org BUG= Review URL: https://codereview.chromium.org/1705293002 . Cr-Commit-Position: refs/branch-heads/4.8@{crosswalk-project#24} Cr-Branched-From: 10449d4-refs/heads/4.8.271@{#1} Cr-Branched-From: 2ebd5fc-refs/heads/master@{#31941}
Float v8 patch, which has been committed to v8 master and backported to 4.8 and 4.9 in google repos, onto 4.8 v8 in deps to resolve #5089 Original title/commit from google repos for 4.8 is: PPC: [turbofan] Support for CPU models lacking isel. v8/v8@2e4da65 PR-URL: #5293 Fixes: #5089 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
Merged 789ad2f PPC: [turbofan] Support for CPU models lacking isel. (See nodejs/node#5089) R=hablich@chromium.org BUG= Review URL: https://codereview.chromium.org/1711453002 . Cr-Commit-Position: refs/branch-heads/4.9@{#26} Cr-Branched-From: 2fea296-refs/heads/4.9.385@{#1} Cr-Branched-From: 0c1430a-refs/heads/master@{#33306}
Float v8 patch, which has been committed to v8 master and backported to 4.8 and 4.9 in google repos, onto 4.8 v8 in deps to resolve #5089 Original title/commit from google repos for 4.8 is: PPC: [turbofan] Support for CPU models lacking isel. v8/v8@2e4da65 PR-URL: #5293 Fixes: #5089 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
Float v8 patch, which has been committed to v8 master and backported to 4.8 and 4.9 in google repos, onto 4.8 v8 in deps to resolve #5089 Original title/commit from google repos for 4.8 is: PPC: [turbofan] Support for CPU models lacking isel. v8/v8@2e4da65 PR-URL: #5293 Fixes: #5089 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: jbergstroem - Johan Bergström <bugs@bergstroem.nu>
Failure on AIX in newly added CI runs
https://ci.nodejs.org/job/node-test-commit-aix/33/nodes=aix61-ppc64/console
not ok 769 test-timers-args.js
duration_ms: 0.897
...
The text was updated successfully, but these errors were encountered: