mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 21:19:50 +01:00
71691e53d6
Fixes: https://github.com/nodejs/node/issues/43630 PR-URL: https://github.com/nodejs/node/pull/43632 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
27 lines
899 B
JavaScript
27 lines
899 B
JavaScript
'use strict';
|
|
|
|
require('../common');
|
|
|
|
const assert = require('assert');
|
|
const { spawnSync } = require('child_process');
|
|
|
|
// The default --stack-size is 984, which is below Windows' default stack size
|
|
// limit of 1 MiB. However, even a slight increase would cause node to exceed
|
|
// the 1 MiB limit and thus to crash with the exit code STATUS_STACK_OVERFLOW.
|
|
// Newer versions of Node.js allow the stack size to grow to up to 8 MiB, which
|
|
// better aligns with default limits on other platforms and which is commonly
|
|
// used for browsers on Windows.
|
|
// See https://github.com/nodejs/node/issues/43630.
|
|
|
|
const { status, signal, stderr } = spawnSync(process.execPath, [
|
|
'--stack-size=2000',
|
|
'-e',
|
|
'(function explode() { return explode(); })()',
|
|
], {
|
|
encoding: 'utf8'
|
|
});
|
|
|
|
assert.strictEqual(status, 1);
|
|
assert.strictEqual(signal, null);
|
|
assert.match(stderr, /Maximum call stack size exceeded/);
|