Skip to content

Linux x86_64: the golden harness dies with SIGFPE (compare.py exit -8) #69

Closed

Description

@b-re-w

Found by test.yml run 37194264048 (feat/ci-gate), linux x86_64. Every suite passes (122/122, ok 1724, FAIL 0). Then DOCWATCH runs tests/golden/compare.py, which exits -8 (SIGFPE) before printing its SUMMARY. All 94 DOCWATCH failures on that runner are the golden counts that depend on it. The macOS runner's golden run passes.

SIGFPE on x86 is an integer division by zero (or INT_MIN / -1) in native code. Rust's / panics instead, so the cause is likely in vendored C, a SIMD path, or an unchecked / wrapping division.

Done when

  • The golden case and the kernel are identified (docker linux/amd64 is fine for correctness).
  • Fixed, with a regression test that reproduces it on x86 (CI).
  • The Linux DOCWATCH run passes on CI.

Activity

  1. added this to the TN-M1 Engine base milestone on Oct 4, 2026
  2. b-re-w commented on Oct 4, 2026

    @b-re-w
    MemberAuthor

    SIGFPE verdict: upstream's, not _C's. Two golden cases made upstream torch 2.13.0+cpu trap on x86: sdpa_flash_cpu with h_q=4, h_kv=6 (division by h_q // h_kv == 0), and int64 div(INT64_MIN, -1, trunc) (idiv overflow). Fixed test-side: the harness no longer calls upstream for those two. compare.py now reaches its SUMMARY in docker amd64, with 48 numeric mismatches against x86 upstream, the #40 classes (sdpa fp16/bf16 logsumexp, sort ties of 80, bf16 add with alpha, matmul bit-exactness, weighted nll_loss, non-periodic kaiser). Next: measure them on the CI runner, not QEMU, then give golden cases the same named x86-divergence pin the suites have.

  3. b-re-w commented on Oct 16, 2026

    @b-re-w
    MemberAuthor

    Landed in develop via #90

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions