Skip to content
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: build failure #7500

Closed
mhdawson opened this issue Jun 30, 2016 · 13 comments
Closed

AIX: build failure #7500

mhdawson opened this issue Jun 30, 2016 · 13 comments
Labels
build Issues and PRs related to build files or the CI.

Comments

@mhdawson
Copy link
Member

mhdawson commented Jun 30, 2016

  • Version: master
  • Platform: AIX
  • Subsystem: v8

https://ci.nodejs.org/job/node-test-commit-aix/nodes=aix61-ppc64/236/console

  g++ -pthread -maix64 -maix64  -o /home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/out/Release/mksnapshot /home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/out/Release/obj.host/mksnapshot/deps/v8/src/snapshot/mksnapshot.o /home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/out/Release/obj.host/deps/v8/tools/gyp/libv8_base.a /home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/out/Release/obj.host/deps/v8/tools/gyp/libv8_nosnapshot.a /home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/out/Release/obj.host/deps/v8/tools/gyp/libv8_libplatform.a /home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/out/Release/obj.host/deps/v8/tools/gyp/libv8_libbase.a /home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/out/Release/obj.host/tools/icu/libicutools.a 
ld: 0711-781 ERROR: TOC overflow. TOC size: 70088   Maximum size: 65536
collect2: error: ld returned 12 exit status
gmake[2]: *** [/home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/out/Release/mksnapshot] Error 1
gmake[2]: Leaving directory `/home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/out'
gmake[1]: *** [node] Error 2
gmake[1]: Leaving directory `/home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64'
gmake: *** [run-ci] Error 2
Build step 'Execute shell' marked build as failure
TAP Reports Processing: START
Looking for TAP results report in workspace using pattern: test.tap
Did not find any matching files. Setting build result to FAILURE.
Build step 'Publish TAP Results' marked build as failure
Sending e-mails to: michael_dawson@ca.ibm.com
ERROR: Could not connect to SMTP host: localhost, port: 25
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 

I know we had to use a larger toc recently in some part of the v8 AIX builds but I thought that failure was only in v8 master. Will have to see if it also needs to be back ported. Its also possible that some of the Node specific changes pushed it over the limit.

@mhdawson
Copy link
Member Author

Looking at the library we are failing on, good chance its not related to v8 at all. May be related to:

#7355

@mhdawson
Copy link
Member Author

@srl295 @jasnell

@mscdex mscdex added v8 engine Issues and PRs related to the V8 dependency. build Issues and PRs related to build files or the CI. and removed v8 engine Issues and PRs related to the V8 dependency. labels Jun 30, 2016
@srl295
Copy link
Member

srl295 commented Jul 1, 2016

i'll take a look tomorrow . mayb be able to trim symbols? what is overflowing here?

@gireeshpunathil
Copy link
Member

Thanks @mhdawson, -Wl,-bbigtoc solves the issue, tested locally.

As it is trying to build mksnapshot, (and subsequently node, whose memory demand is even more) this flag is required in common.gypi, not in the V8 build scripts.

I will come up with a PR for this one.

@srl295, looks like there are extra 10K symbols added into libv8_base.a in the last 2 days:

bash-4.3$ objdump -t june30/out/Release/obj.host/deps/v8/tools/gyp/libv8_base.a | wc -l
  235775
bash-4.3$ objdump -t july1/out/Release/obj.host/deps/v8/tools/gyp/libv8_base.a | wc -l
  245365

Also, when successfully build with increased TOC, I get this warning:

(mksnapshot)
ld: 0711-783 WARNING: TOC overflow. TOC size: 70072 Maximum size: 65536

(node)
ld: 0711-783 WARNING: TOC overflow. TOC size: 98928 Maximum size: 65536

So numbers have gone quite high, and reducing symbols may not be feasible (I think).

@gireeshpunathil
Copy link
Member

But then after this is fixed, AIX build fails with:

../src/backtrace_posix.cc:16:22: fatal error: execinfo.h: No such file or directory
#include <execinfo.h>
^
compilation terminated.

Looks like we don't have execinfo.h in AIX.

The commit which introduced this change is 787eddf : src: print backtrace on fatal error.

@bnoordhuis
Copy link
Member

Does AIX have backtrace(3) and if so, where does it live?

@gireeshpunathil
Copy link
Member

I don't see a backtrace() API in AIX, however, will do some more search to see if there is an alternative.

@gireeshpunathil
Copy link
Member

PR #7508 raised for the build failure.

@srl295
Copy link
Member

srl295 commented Jul 1, 2016 via email

@gireeshpunathil
Copy link
Member

I don't see any visible patterns with respect to addition. Have sent you a zip file with the diff

@srl295
Copy link
Member

srl295 commented Jul 1, 2016

@gireeshpunathil thanks. you can send to srl295ATgmail.com as well in case the zip got eaten

@srl295
Copy link
Member

srl295 commented Jul 2, 2016

@gireeshpunathil I reviewed the list. I don't think it's related to #7355 - none of the symbols seemed relevant to ICU. They are all v8 internals. libicutools.a just needs to be included because it's the host-side ICU library used for the mksnapshot. So some v8 change happened, i think.

@mhdawson mhdawson changed the title AIX: build failure - v8 related AIX: build failure Jul 5, 2016
@mhdawson
Copy link
Member Author

mhdawson commented Jul 5, 2016

Landed as d80432d

Fishrock123 pushed a commit that referenced this issue Jul 6, 2016
AIX linker has a table of contents with default size 64K
The recent code inclusions in V8 brings in lot of new
symbols which necessitates to increase this default.

Please note that the debug build already has this flag

Fixes: #7500
PR-URL: #7508
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI.
Projects
None yet
Development

No branches or pull requests

5 participants