Fix CI test segfault: clamp stack ulimit before odin test
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:
1 parent
0776e8e4b9
commit
06f4e9ed11
3 files changed
+6
-13
No files matched your search
@@ -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
|
||||
|
||||
|
||||
Reference in new issue
Block a user