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: Test failures - malloc(0) #7549

Closed
mhdawson opened this issue Jul 5, 2016 · 7 comments
Closed

AIX: Test failures - malloc(0) #7549

mhdawson opened this issue Jul 5, 2016 · 7 comments
Labels
cluster Issues and PRs related to the cluster subsystem. crypto Issues and PRs related to the crypto subsystem. test Issues and PRs related to the tests.

Comments

@mhdawson
Copy link
Member

mhdawson commented Jul 5, 2016

  • Version: master
  • Platform: AIX
  • Subsystem:

Now that AIX is building again after recent build breaks there are 4 failing tests:
https://ci.nodejs.org/job/node-test-commit-aix/nodes=aix61-ppc64/244/

Some of them look potentially related to: #7229.

Will need to investigate to see if its new or a regression.

not ok 6 parallel/test-async-wrap-post-did-throw
# FATAL ERROR: node::RandomBytesRequest() Out of Memory
  ---
  duration_ms: 0.423
  ...
not ok 8 parallel/test-async-wrap-throw-from-callback
# 
# assert.js:89
#   throw new assert.AssertionError({
#   ^
# AssertionError: pre closed with code null
#     at ChildProcess.child.on (/home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/test/parallel/test-async-wrap-throw-from-callback.js:70:14)
#     at emitTwo (events.js:106:13)
#     at ChildProcess.emit (events.js:191:7)
#     at maybeClose (internal/child_process.js:852:16)
#     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)
  ---
  duration_ms: 1.36
  ...
not ok 104 parallel/test-cluster-disconnect-handles
# Debugger listening on [::1]:12346
# 
# /home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/test/parallel/test-cluster-disconnect-handles.js:86
#     throw ex;
#     ^
# AssertionError: worker did not exit normally
#     at Worker.worker.once.common.mustCall (/home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/test/parallel/test-cluster-disconnect-handles.js:32:12)
#     at Worker. (/home/iojs/build/workspace/node-test-commit-aix/nodes/aix61-ppc64/test/common.js:407:15)
#     at Worker.g (events.js:286:16)
#     at emitTwo (events.js:111:20)
#     at Worker.emit (events.js:191:7)
#     at ChildProcess. (cluster.js:380:14)
#     at ChildProcess.g (events.js:286:16)
#     at emitTwo (events.js:106:13)
#     at ChildProcess.emit (events.js:191:7)
#     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
  ---
  duration_ms: 0.943
  ...

not ok 179 parallel/test-crypto-random
# FATAL ERROR: node::RandomBytesRequest() Out of Memory
  ---
  duration_ms: 0.367
  ...
@mscdex mscdex added crypto Issues and PRs related to the crypto subsystem. cluster Issues and PRs related to the cluster subsystem. test Issues and PRs related to the tests. async_wrap labels Jul 5, 2016
@mhdawson
Copy link
Member Author

mhdawson commented Jul 5, 2016

3/4 of the failures are the same as in #7229

@eugeneo you aware of anything that might have reverted your earlier fix ?

@mhdawson
Copy link
Member Author

mhdawson commented Jul 6, 2016

Build to see if fix from 7229 resolves all 4 issues or only the 3 seen previously:

https://ci.nodejs.org/job/node-test-commit-aix/247/

@mhdawson mhdawson changed the title AIX: Test failures - new ? AIX: Test failures - malloc(0) Jul 6, 2016
@mhdawson
Copy link
Member Author

mhdawson commented Jul 6, 2016

From the previous run, seems to only resolve the 3 seen previously so the 4th is a new issue. Opened new issue here: #7563

@eugeneo
Copy link
Contributor

eugeneo commented Jul 6, 2016

What was done in V8 inspector is removing <vector> from the inspector-agent.h header. This way STL did not leak to env.h and the rest of the node.

I do not think any tests instantiate the Inspector for now ('--inspect' needs to be passed to start the inspector) so I do not know if Inspector can be triggering this...

@cjihrig
Copy link
Contributor

cjihrig commented Aug 18, 2016

@mhdawson is there anything left to do here?

@bnoordhuis
Copy link
Member

There is, it's on my plate.

@mhdawson
Copy link
Member Author

See discussion here: #7564

Fishrock123 pushed a commit that referenced this issue Sep 9, 2016
malloc(0) and realloc(ptr, 0) have implementation-defined behavior in
that the standard allows them to either return a unique pointer or a
nullptr for zero-sized allocation requests.  Normalize by always using
a nullptr.

- Introduce node::malloc, node::realloc and node::calloc that should
  be used throught our source.
- Update all existing node source files to use the new functions
  instead of the native allocation functions.

Fixes: #7549
PR-URL: #7564
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>

 Conflicts:
	src/node.cc
Fishrock123 pushed a commit that referenced this issue Sep 9, 2016
malloc(0) and realloc(ptr, 0) have implementation-defined behavior in
that the standard allows them to either return a unique pointer or a
nullptr for zero-sized allocation requests.  Normalize by always using
a nullptr.

- Introduce node::malloc, node::realloc and node::calloc that should
  be used throught our source.
- Update all existing node source files to use the new functions
  instead of the native allocation functions.

Fixes: #7549
PR-URL: #7564
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>

 Conflicts:
	src/node.cc
addaleax pushed a commit to addaleax/node that referenced this issue Nov 22, 2016
malloc(0) and realloc(ptr, 0) have implementation-defined behavior in
that the standard allows them to either return a unique pointer or a
nullptr for zero-sized allocation requests.  Normalize by always using
a nullptr.

- Introduce node::malloc, node::realloc and node::calloc that should
  be used throught our source.
- Update all existing node source files to use the new functions
  instead of the native allocation functions.

Fixes: nodejs#7549
PR-URL: nodejs#7564
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
MylesBorins pushed a commit that referenced this issue Nov 22, 2016
malloc(0) and realloc(ptr, 0) have implementation-defined behavior in
that the standard allows them to either return a unique pointer or a
nullptr for zero-sized allocation requests.  Normalize by always using
a nullptr.

- Introduce node::malloc, node::realloc and node::calloc that should
  be used throught our source.
- Update all existing node source files to use the new functions
  instead of the native allocation functions.

Fixes: #7549
PR-URL: #7564
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cluster Issues and PRs related to the cluster subsystem. crypto Issues and PRs related to the crypto subsystem. test Issues and PRs related to the tests.
Projects
None yet
Development

No branches or pull requests

5 participants