From d9f422136c02807bdc9e42fff7276b5847120269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C5=91rinc?= Date: Fri, 24 Jul 2026 12:45:09 -0700 Subject: [PATCH] test: avoid undersized Boost.Test signal stacks Boost.Test registers a `SIGSTKSZ` alternate signal stack as each test binary starts, before any tests run. On musl, this can be smaller than Linux's hardware-dependent minimum, causing `sigaltstack()` to fail with `ENOMEM` during setup. Disable Boost.Test's alternate stack in both test entry points. Signal handlers continue to use the regular process stack. Boost.Test can no longer report stack overflows. Fixes #36026 Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> Github-Pull: #36045 Rebased-From: 9eba3aafa6c26994a301965ef8ddca0ada5f85c7 --- src/test/kernel/test_kernel.cpp | 2 ++ src/test/main.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/test/kernel/test_kernel.cpp b/src/test/kernel/test_kernel.cpp index 4a97f5ba467..223dbd4ea8c 100644 --- a/src/test/kernel/test_kernel.cpp +++ b/src/test/kernel/test_kernel.cpp @@ -6,6 +6,8 @@ #include #include +// Boost.Test's SIGSTKSZ alternate stack can be smaller than Linux requires on musl. +#define BOOST_TEST_DISABLE_ALT_STACK #define BOOST_TEST_MODULE Bitcoin Kernel Test Suite #include diff --git a/src/test/main.cpp b/src/test/main.cpp index 0b7c451a582..f9a59e658ce 100644 --- a/src/test/main.cpp +++ b/src/test/main.cpp @@ -5,6 +5,8 @@ /** * See https://www.boost.org/doc/libs/1_78_0/libs/test/doc/html/boost_test/adv_scenarios/single_header_customizations/multiple_translation_units.html */ +// Boost.Test's SIGSTKSZ alternate stack can be smaller than Linux requires on musl. +#define BOOST_TEST_DISABLE_ALT_STACK #define BOOST_TEST_MODULE Bitcoin Core Test Suite #include