Skip to content

Chemistry tests crash with SIGILL on GitHub-hosted runners due to -march=native + build cache #1277

@sbryngelson

Description

@sbryngelson

Problem

All 9 Chemistry tests intermittently crash with SIGILL (Illegal instruction) on the Github (ubuntu, mpi, no-debug, true) CI job.

Root cause

MFC compiles with -march=native (in CMakeLists.txt), which targets the exact CPU ISA of the build machine. GitHub-hosted runners have heterogeneous CPU architectures — a build cached on a runner with AVX-512 can be restored on a runner without those instructions, causing SIGILL at runtime.

This only affects GitHub-hosted runners (ubuntu-latest, macos-latest). Self-hosted HPC runners (Phoenix, Frontier) have consistent hardware so -march=native is safe there.

Fix

Include a hash of CPU model name and compiler versions in the actions/cache key so that builds are only restored on runners with matching hardware and toolchain. No changes to CMake or the build system — -march=native stays enabled everywhere.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions