-
Notifications
You must be signed in to change notification settings - Fork 30k
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
test: fix test failure on aix #20940
Conversation
This makes sure there is enough stack space on different systems.
75 works in my AIX box. Further thinking on it, |
I'm not going to block this, but I am wary of magic values in test files. Can you guarantee 75 will be a safe value in the future? It feels like setting the |
I guess the number which we are taking about is the amount of kilobytes that is required for the frames to execute the methods in this call chain:
if those sequences change and start consuming more stack space, 75 will become insufficient too. |
@richardlau I was surprised that it turned out as insufficient because I expected it to be a fixed value on all platforms. However, it would be very surprising if the new value would not be sufficient anymore (also in future cases) because that could only happen in case V8 changes something significantly to the worse or we add multiple extra layers and that is also very unlikely. We should always realize if the value is insufficient on a CI run and I guess the aix failure originally just slipped through. |
FWIW, this was also observed by @danbev on a macOS laptop. Not sure if that warrants changing the description from saying AIX or not. Also in the "might not really require amending the commit message" department: The stylization of AIX is all caps. |
@@ -15,7 +15,7 @@ const { spawnSync } = require('child_process'); | |||
|
|||
const ret = spawnSync( | |||
process.execPath, | |||
['--stack_size=50', __filename, 'async'] | |||
['--stack_size=75', __filename, 'async'] | |||
); | |||
assert.strictEqual(ret.status, 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fwiw, I think this would have been more easily debuggable if this assertion had come last and the assertion on L22 would print out stderr
in its failure message – maybe we can fix up the test for that as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, actually, I had a branch to fix this and then didn't open a PR, but maybe it can be tacked onto this. IIRC, the change was this:
assert.strictEqual(ret.status, 0,
`EXIT CODE: ${ret.status}, STDERR: ${ret.stderr}`);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I opened #20948 so that this one doesn't get delayed with any bike-shedding or CI re-running.
Please +1 to fast track this. |
There were some infra issues with the last CI. New CI: https://ci.nodejs.org/job/node-test-pull-request/15113/ |
node-test-commit-osx re-run: https://ci.nodejs.org/job/node-test-commit-osx/18888/ |
(Removed fast-track label because it's been open for four days and has three approvals, so all it needs is a clean CI.) |
This makes sure there is enough stack space on different systems. PR-URL: nodejs#20940 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Landed in cfc3866 |
This makes sure there is enough stack space on different systems. PR-URL: #20940 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Currently, when building with --debug test-async-wrap-pop-id-during-load fails on macosx with the following error: $ out/Debug/node test/parallel/test-async-wrap-pop-id-during-load.js assert.js:86 throw new AssertionError(obj); ^ AssertionError [ERR_ASSERTION]: EXIT CODE: 1, STDERR: internal/bootstrap/loaders.js:275 const script = new ContextifyScript( ^ RangeError: Maximum call stack size exceeded at NativeModule.compile (internal/bootstrap/loaders.js:275:22) at NativeModule.require (internal/bootstrap/loaders.js:168:18) at assert.js:31:43 at NativeModule.compile (internal/bootstrap/loaders.js:299:7) at NativeModule.require (internal/bootstrap/loaders.js:168:18) at internal/process/main_thread_only.js:23:16 at NativeModule.compile (internal/bootstrap/loaders.js:299:7) at Function.NativeModule.require (internal/bootstrap/loaders.js:168:18) at startup (internal/bootstrap/node.js:58:38) at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3) at Object.<anonymous> (/node/test/parallel/test-async-wrap-pop-id-during-load.js:21:8) at Module._compile (internal/modules/cjs/loader.js:707:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10) at Module.load (internal/modules/cjs/loader.js:605:32) at tryModuleLoad (internal/modules/cjs/loader.js:544:12) at Function.Module._load (internal/modules/cjs/loader.js:536:3) at Function.Module.runMain (internal/modules/cjs/loader.js:760:12) at startup (internal/bootstrap/node.js:308:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3) This commit suggests increasing the stack_size to 80. Refs: nodejs#20940
Currently, when building with --debug test-async-wrap-pop-id-during-load fails on macosx with the following error: $ out/Debug/node test/parallel/test-async-wrap-pop-id-during-load.js assert.js:86 throw new AssertionError(obj); ^ AssertionError [ERR_ASSERTION]: EXIT CODE: 1, STDERR: internal/bootstrap/loaders.js:275 const script = new ContextifyScript( ^ RangeError: Maximum call stack size exceeded at NativeModule.compile (internal/bootstrap/loaders.js:275:22) at NativeModule.require (internal/bootstrap/loaders.js:168:18) at assert.js:31:43 at NativeModule.compile (internal/bootstrap/loaders.js:299:7) at NativeModule.require (internal/bootstrap/loaders.js:168:18) at internal/process/main_thread_only.js:23:16 at NativeModule.compile (internal/bootstrap/loaders.js:299:7) at Function.NativeModule.require (internal/bootstrap/loaders.js:168:18) at startup (internal/bootstrap/node.js:58:38) at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3) at Object.<anonymous> (/node/test/parallel/test-async-wrap-pop-id-during-load.js:21:8) at Module._compile (internal/modules/cjs/loader.js:707:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10) at Module.load (internal/modules/cjs/loader.js:605:32) at tryModuleLoad (internal/modules/cjs/loader.js:544:12) at Function.Module._load (internal/modules/cjs/loader.js:536:3) at Function.Module.runMain (internal/modules/cjs/loader.js:760:12) at startup (internal/bootstrap/node.js:308:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3) This commit suggests increasing the stack_size to 80. Refs: nodejs#20940 PR-URL: nodejs#23996 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Currently, when building with --debug test-async-wrap-pop-id-during-load fails on macosx with the following error: $ out/Debug/node test/parallel/test-async-wrap-pop-id-during-load.js assert.js:86 throw new AssertionError(obj); ^ AssertionError [ERR_ASSERTION]: EXIT CODE: 1, STDERR: internal/bootstrap/loaders.js:275 const script = new ContextifyScript( ^ RangeError: Maximum call stack size exceeded at NativeModule.compile (internal/bootstrap/loaders.js:275:22) at NativeModule.require (internal/bootstrap/loaders.js:168:18) at assert.js:31:43 at NativeModule.compile (internal/bootstrap/loaders.js:299:7) at NativeModule.require (internal/bootstrap/loaders.js:168:18) at internal/process/main_thread_only.js:23:16 at NativeModule.compile (internal/bootstrap/loaders.js:299:7) at Function.NativeModule.require (internal/bootstrap/loaders.js:168:18) at startup (internal/bootstrap/node.js:58:38) at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3) at Object.<anonymous> (/node/test/parallel/test-async-wrap-pop-id-during-load.js:21:8) at Module._compile (internal/modules/cjs/loader.js:707:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10) at Module.load (internal/modules/cjs/loader.js:605:32) at tryModuleLoad (internal/modules/cjs/loader.js:544:12) at Function.Module._load (internal/modules/cjs/loader.js:536:3) at Function.Module.runMain (internal/modules/cjs/loader.js:760:12) at startup (internal/bootstrap/node.js:308:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3) This commit suggests increasing the stack_size to 80. Refs: #20940 PR-URL: #23996 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Currently, when building with --debug test-async-wrap-pop-id-during-load fails on macosx with the following error: $ out/Debug/node test/parallel/test-async-wrap-pop-id-during-load.js assert.js:86 throw new AssertionError(obj); ^ AssertionError [ERR_ASSERTION]: EXIT CODE: 1, STDERR: internal/bootstrap/loaders.js:275 const script = new ContextifyScript( ^ RangeError: Maximum call stack size exceeded at NativeModule.compile (internal/bootstrap/loaders.js:275:22) at NativeModule.require (internal/bootstrap/loaders.js:168:18) at assert.js:31:43 at NativeModule.compile (internal/bootstrap/loaders.js:299:7) at NativeModule.require (internal/bootstrap/loaders.js:168:18) at internal/process/main_thread_only.js:23:16 at NativeModule.compile (internal/bootstrap/loaders.js:299:7) at Function.NativeModule.require (internal/bootstrap/loaders.js:168:18) at startup (internal/bootstrap/node.js:58:38) at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3) at Object.<anonymous> (/node/test/parallel/test-async-wrap-pop-id-during-load.js:21:8) at Module._compile (internal/modules/cjs/loader.js:707:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10) at Module.load (internal/modules/cjs/loader.js:605:32) at tryModuleLoad (internal/modules/cjs/loader.js:544:12) at Function.Module._load (internal/modules/cjs/loader.js:536:3) at Function.Module.runMain (internal/modules/cjs/loader.js:760:12) at startup (internal/bootstrap/node.js:308:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3) This commit suggests increasing the stack_size to 80. Refs: #20940 PR-URL: #23996 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Currently, when building with --debug test-async-wrap-pop-id-during-load fails on macosx with the following error: $ out/Debug/node test/parallel/test-async-wrap-pop-id-during-load.js assert.js:86 throw new AssertionError(obj); ^ AssertionError [ERR_ASSERTION]: EXIT CODE: 1, STDERR: internal/bootstrap/loaders.js:275 const script = new ContextifyScript( ^ RangeError: Maximum call stack size exceeded at NativeModule.compile (internal/bootstrap/loaders.js:275:22) at NativeModule.require (internal/bootstrap/loaders.js:168:18) at assert.js:31:43 at NativeModule.compile (internal/bootstrap/loaders.js:299:7) at NativeModule.require (internal/bootstrap/loaders.js:168:18) at internal/process/main_thread_only.js:23:16 at NativeModule.compile (internal/bootstrap/loaders.js:299:7) at Function.NativeModule.require (internal/bootstrap/loaders.js:168:18) at startup (internal/bootstrap/node.js:58:38) at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3) at Object.<anonymous> (/node/test/parallel/test-async-wrap-pop-id-during-load.js:21:8) at Module._compile (internal/modules/cjs/loader.js:707:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10) at Module.load (internal/modules/cjs/loader.js:605:32) at tryModuleLoad (internal/modules/cjs/loader.js:544:12) at Function.Module._load (internal/modules/cjs/loader.js:536:3) at Function.Module.runMain (internal/modules/cjs/loader.js:760:12) at startup (internal/bootstrap/node.js:308:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3) This commit suggests increasing the stack_size to 80. Refs: #20940 PR-URL: #23996 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Currently, when building with --debug test-async-wrap-pop-id-during-load fails on macosx with the following error: $ out/Debug/node test/parallel/test-async-wrap-pop-id-during-load.js assert.js:86 throw new AssertionError(obj); ^ AssertionError [ERR_ASSERTION]: EXIT CODE: 1, STDERR: internal/bootstrap/loaders.js:275 const script = new ContextifyScript( ^ RangeError: Maximum call stack size exceeded at NativeModule.compile (internal/bootstrap/loaders.js:275:22) at NativeModule.require (internal/bootstrap/loaders.js:168:18) at assert.js:31:43 at NativeModule.compile (internal/bootstrap/loaders.js:299:7) at NativeModule.require (internal/bootstrap/loaders.js:168:18) at internal/process/main_thread_only.js:23:16 at NativeModule.compile (internal/bootstrap/loaders.js:299:7) at Function.NativeModule.require (internal/bootstrap/loaders.js:168:18) at startup (internal/bootstrap/node.js:58:38) at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3) at Object.<anonymous> (/node/test/parallel/test-async-wrap-pop-id-during-load.js:21:8) at Module._compile (internal/modules/cjs/loader.js:707:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10) at Module.load (internal/modules/cjs/loader.js:605:32) at tryModuleLoad (internal/modules/cjs/loader.js:544:12) at Function.Module._load (internal/modules/cjs/loader.js:536:3) at Function.Module.runMain (internal/modules/cjs/loader.js:760:12) at startup (internal/bootstrap/node.js:308:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:878:3) This commit suggests increasing the stack_size to 80. Refs: #20940 PR-URL: #23996 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
This makes sure there is enough stack space on different systems. 75 should definitely be enough on all systems.
Alternative to #20927
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes