Skip to content

AIX: build failure  #7500

Description

@mhdawson
  • 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.

Activity

  1. mhdawson commented on Jun 30, 2016

    @mhdawson
    MemberAuthor

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

    #7355

  2. mhdawson commented on Jun 30, 2016

    @mhdawson
    MemberAuthor
  3. added
    v8 engineIssues and PRs related to the V8 dependency.
    buildIssues and PRs related to Node.js builds or CI infrastructure.
    and removed
    v8 engineIssues and PRs related to the V8 dependency.
    on Jun 30, 2016
  4. srl295 commented on Jul 1, 2016

    @srl295
    Member

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

  5. gireeshpunathil commented on Jul 1, 2016

    @gireeshpunathil
    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).

  6. gireeshpunathil commented on Jul 1, 2016

    @gireeshpunathil
    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.

  7. bnoordhuis commented on Jul 1, 2016

    @bnoordhuis
    Member

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

  8. gireeshpunathil commented on Jul 1, 2016

    @gireeshpunathil
    Member

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

  9. gireeshpunathil commented on Jul 1, 2016

    @gireeshpunathil
    Member

    PR #7508 raised for the build failure.

  10. srl295 commented on Jul 1, 2016

    @srl295
    Member
  11. gireeshpunathil commented on Jul 1, 2016

    @gireeshpunathil
    Member

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

  12. srl295 commented on Jul 1, 2016

    @srl295
    Member

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

  13. srl295 commented on Jul 2, 2016

    @srl295
    Member

    @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.

  14. changed the title [-]AIX: build failure - v8 related[/-] [+]AIX: build failure [/+] on Jul 5, 2016
  15. mhdawson commented on Jul 5, 2016

    @mhdawson
    MemberAuthor

    Landed as d80432d

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildIssues and PRs related to Node.js builds or CI infrastructure.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions