From 9eba3aafa6c26994a301965ef8ddca0ada5f85c7 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> --- 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 8b919c918fb..884c6912bf5 100644 --- a/src/test/kernel/test_kernel.cpp +++ b/src/test/kernel/test_kernel.cpp @@ -7,6 +7,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 398ab4d6bd7..ae64d814562 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