[njs] Change: increasing the default stack size to 160k.
noreply at nginx.com
noreply at nginx.com
Fri Aug 22 17:02:15 UTC 2025
details: https://github.com/nginx/njs/commit/972951a4286101776c3a4cee2a33ac3dd4be4ec9
branches: master
commit: 972951a4286101776c3a4cee2a33ac3dd4be4ec9
user: Dmitry Volyntsev <xeioex at nginx.com>
date: Mon, 11 Aug 2025 16:25:47 -0700
description:
Change: increasing the default stack size to 160k.
This change allows EarleyBoyer benchmark from
arewefastyet/benchmarks/v8-v7 to pass with default settings.
Previous commit 5e9a6d5 (v0.7.9) reduced the stack size to prevent stack
overflow when compiling with -O0 in computed goto mode, where native
stack frames for njs_vmcode_interpreter() consume ~80KB each. To address
this, we now set a lower maximum stack size specifically for unit tests.
This fixes #939 issue on Github.
---
src/njs_vm.h | 2 +-
src/test/njs_unit_test.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/njs_vm.h b/src/njs_vm.h
index 3351dee4..46f566e3 100644
--- a/src/njs_vm.h
+++ b/src/njs_vm.h
@@ -8,7 +8,7 @@
#define _NJS_VM_H_INCLUDED_
-#define NJS_MAX_STACK_SIZE (64 * 1024)
+#define NJS_MAX_STACK_SIZE (160 * 1024)
typedef struct njs_frame_s njs_frame_t;
diff --git a/src/test/njs_unit_test.c b/src/test/njs_unit_test.c
index 78e12197..67c57d19 100644
--- a/src/test/njs_unit_test.c
+++ b/src/test/njs_unit_test.c
@@ -21856,6 +21856,7 @@ njs_unit_test(njs_unit_test_t tests[], size_t num, njs_str_t *name,
options.module = opts->module;
options.unsafe = opts->unsafe;
options.backtrace = opts->backtrace;
+ options.max_stack_size = 64 * 1024;
options.addons = opts->externals ? njs_unit_test_addon_external_modules
: njs_unit_test_addon_modules;
@@ -22008,6 +22009,7 @@ njs_interactive_test(njs_unit_test_t tests[], size_t num, njs_str_t *name,
options.init = 1;
options.interactive = 1;
options.backtrace = 1;
+ options.max_stack_size = 64 * 1024;
options.addons = opts->externals ? njs_unit_test_addon_external_modules
: njs_unit_test_addon_modules;
More information about the nginx-devel
mailing list