Revert runner-contention theory, add gdb diagnostics for the test segfault
The windows job hadn't even started when build's odin test segfaulted again on its own (run 132), so concurrency wasn't the cause. Add a Debug Segfault step that runs the already-built test binary under gdb to get a backtrace, since this doesn't reproduce locally or in a plain ubuntu:24.04 container with the same Odin build. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
458f0edccb
commit
0776e8e4b9
2 files changed
+14
-9
No files matched your search
@@ -30,18 +30,23 @@ 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
|
||||
|
||||
# Cross-compiles for Windows so link breakages show up before a release.
|
||||
# Runs after `build`: both jobs land on the same self-hosted runner, and the
|
||||
# first run segfaulted `odin test` in `build` while `windows` was doing its
|
||||
# (uncached) SDK download/splat at the same time - resource contention, not
|
||||
# a code or toolchain bug (odin check passed; the test suite reproduces fine
|
||||
# in isolation). Sequencing avoids that contention at the cost of a longer
|
||||
# total run.
|
||||
# Cross-compiles for Windows so link breakages show up before a release
|
||||
windows:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
|
||||
Reference in new issue
Block a user