Skip to content

stringbytes-external fails on AIX. #3303

Description

@mhdawson

This test was recently updated as part of #3005

and it now fails on AIX:

not ok 697 test-stringbytes-external.js
#buffer.js:98
#    const ui8 = new Uint8Array(size);
#                ^
#
#RangeError: Invalid array buffer length
#    at new ArrayBuffer (native)
#    at new Uint8Array (native)
#    at allocate (buffer.js:98:17)
#    at new Buffer (buffer.js:49:12)
#    at /scratch/jenkins-local/workspace/convergance-test-aix/arch/ppc64/build/build/gcc48/gcc48/os/aix/node/test/parallel/test-stringbytes-external.js:125:16
#    at Object. (/scratch/jenkins-local/workspace/convergance-test-aix/arch/ppc64/build/build/gcc48/gcc48/os/aix/node/test/parallel/test-stringbytes-external.js:178:3)
#    at Module._compile (module.js:425:26)
#    at Object.Module._extensions..js (module.js:432:10)
#    at Module.load (module.js:356:32)
#    at Function.Module._load (module.js:311:12)
  ---

Activity

  1. mhdawson commented on Oct 9, 2015

    @mhdawson
    MemberAuthor

    @evanlucas any thoughts

  2. mhdawson commented on Oct 9, 2015

    @mhdawson
    MemberAuthor
  3. Fishrock123 commented on Oct 9, 2015

    @Fishrock123
    Contributor
  4. Trott commented on Oct 9, 2015

    @Trott
    Member

    I suspect I'll be fixing this as part of #3287 although I don't think that specific issue is fixed yet.

  5. evanlucas commented on Oct 9, 2015

    @evanlucas
    Contributor

    @Trott will that actually fix this though? This is failing on the initial allocation of buf0 (https://github.com/nodejs/node/blob/master/test/parallel/test-stringbytes-external.js#L125). Why would it throw there, when it passes the try/catch that allocates a larger buffer?

  6. Trott commented on Oct 9, 2015

    @Trott
    Member

    @evanlucas Yeah, I realized I was mistaken and edited my comment to backtrack a bit...maybe I need to backtrack more...

  7. trevnorris commented on Oct 9, 2015

    @trevnorris
    Contributor

    Problem probably is that v8 doesn't bother to GC after the first large allocation, then the subsequent malloc() fails since the needed memory hasn't been handed back.

    @Trott I'd suggest two things. Once is that we force GC after the try/catch. Second is to possibly also wrap the second allocation in a try/catch.

    @mhdawson How much memory do those machines have? We're allocating under 1GB for the test.

  8. added
    testIssues and PRs related to Node.js core tests and test infrastructure.
    on Oct 9, 2015
  9. Trott commented on Oct 10, 2015

    @Trott
    Member

    @mhdawson In #3287, this test file is split up into five different test files. Can you run that PR on AIX and confirm that all but one of the stringbytes test files still fail (which is what I suspect) or not? (Do we have AIX on ci.nodejs.org and I just need to know the special secret handshake to get the CI to run on AIX?)

  10. jasnell commented on Oct 11, 2015

    @jasnell
    Member

    I don't want a failing test to hold up v4.2.0 so if we can't get a fix in for this by tomorrow we should likely just revert this change in v4.x

  11. Fishrock123 commented on Oct 11, 2015

    @Fishrock123
    Contributor

    I'm not sure we officially support AIX yet (no CI), so I move we don't hold up releases for any significant length of time on it until it is.

  12. jasnell commented on Oct 11, 2015

    @jasnell
    Member

    Definitely don't want to hold it up, but if a fix is trivial, then there's no reason not to land it before we cut. Hopefully #3287 does the job and we can just pick it over.

  13. mhdawson commented on Oct 13, 2015

    @mhdawson
    MemberAuthor

    After the split they all did fail except:

    for ok 699 test-stringbytes-external.js

    Turns out that it was the ulimit set for AIX. On linux by default the ulimit is high enough but the same is not true on AIX. Changing the ulimit seems resolves and all of the tests are passing.

    Closing this issues as its related to machine config as opposed to the tests themselves.

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

    testIssues and PRs related to Node.js core tests and test infrastructure.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions