Repository navigation
Conversation
Boost.Test calls sigaltstack(2) with a stack of SIGSTKSZ bytes. musl defines SIGSTKSZ as a small constant which the kernel rejects with ENOMEM on CPUs with large signal frames (e.g. AVX-512/AMX). This made all test binaries fail with "Test setup error: system_error produced by: exp: Out of memory", already in the --generate_ctest_config build step.
|
So according to the boost.test issue this shouldn't be enough because it comes too late. I both retried the Alpine action here and in the other PR a few times and on both came up green repeatedly. Maybe Alpine changed something on their end, maybe GH did and now it doesn't fail anymore, but in any case I'd like to hold off on merging this until we can have a clear AB test. |
IIRC the tests were sometimes failing and fixed themselves at some point after a few retries. So given that this PR mentions AVX-512/AMX, it might be the case that the tests failed depending on the machine type the runner VM was running on (as in some have/expose AVX-512, others don't). So if that's indeed the cause, this could help to diagnose this locally (otherwise, one could add something like |
The LLM (living itself in an Alpine container) already did that for me by faking the environment and also came to the conclusion that the fix in this PR isn't sufficient in that case because the alt stack is already set once before the environment option (or command-line argument) is even parsed. One thing that does work is compiling the alt stack out entirely with a preprocessor define |
|
@jschmidt-icinga I'm not exactly sure how to read your comment and whether it implies that you were able to reproduce that error locally. |
Under the assumption that specifically AVX-512 capable GitHub runners fail, and always fail deterministically, not just sometimes, this reproduces the issue exactly and the PR does not fix it as reproduced via this method. |
Boost.Test calls sigaltstack(2) with a stack of SIGSTKSZ bytes. musl defines SIGSTKSZ as a small constant which the kernel rejects with ENOMEM on CPUs with large signal frames (e.g. AVX-512/AMX). This made all test binaries fail with "Test setup error: system_error produced by: exp: Out of memory", already in the --generate_ctest_config build step.
closes #11053