Fix CI test segfault: clamp stack ulimit before odin test
Build and Test / build (push) Failing after 19s
Build and Test / windows (push) Successful in 1m34s

Root cause found via gdb backtrace on the runner (thread::pool_init
crashed from main -> testing runner): the CI container sets
`ulimit -s unlimited`, so getrlimit(RLIMIT_STACK) returns RLIM_INFINITY.
core:thread passes that to pthread_attr_setstacksize, pthread_create
fails, and thread.create() returns nil, which core:testing's pool_init
dereferences without a nil check. Reproduced and confirmed fixed in an
ubuntu:24.04 container with the same Odin build. `just test` now clamps
the stack limit before running odin test. Also removes the gdb
diagnostic step added to debug this.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
SansanandClaude Sonnet 5 committed 2026-10-03 19:35:43 +02:00
1 parent 0776e8e4b9
commit 06f4e9ed11
3 files changed
+6 -13

No files matched your search

-12
View File
@@ -30,18 +30,6 @@ jobs:
- name: Test
run: just test
- name: Debug Segfault
if: failure()
run: |
uname -a
cat /etc/os-release || true
clang --version
ulimit -a
free -h || true
SUDO=""; command -v sudo >/dev/null && SUDO=sudo
$SUDO apt-get install -y --no-install-recommends gdb >/dev/null
gdb -batch -ex run -ex bt -ex "info registers" build/tests
- name: Build
run: just release