Skip to content

build: raise the numpy floor to 1.22 - #225

Merged
kevincostner17 merged 1 commit into
mainfrom
fix/numpy-floor-apple-silicon
Sep 14, 2026
Merged

kevincostner17 merged 1 commit into
mainfrom
fix/numpy-floor-apple-silicon

Conversation

@kevincostner17

Copy link
Copy Markdown
Contributor

Summary

numpy>=1.21 let resolvers install numpy 1.21.6. The OpenBLAS bundled in that wheel segfaults (SIGSEGV, or SIGBUS once scipy's OpenBLAS is also loaded) on the first BLAS-backed matrix multiply on current Apple Silicon. This showed up locally as repeated libopenblas dgemm crash reports from minimum-dependency test envs.

Reproduced on an M5 MacBook Air, macOS 26.6.2, Python 3.9.6, with a 1500×384 float v @ v.T:

numpy result
1.21.6 (default threads) segfault in 0.3 s
1.21.6, OPENBLAS_NUM_THREADS=1 segfault
1.21.6, OPENBLAS_CORETYPE=ARMV8 / NEOVERSEN1 segfault
1.22.0 (+ pandas 1.5.0) ok
1.22.4, 1.23.5, 1.24.4, 1.25.2, 1.26.4, 2.0.2 ok

Every Python freshdata supports (>=3.9) has numpy 1.22 wheels, so the new floor excludes only the broken release line.

Changes:

  • pyproject.toml: numpy>=1.21numpy>=1.22.
  • uv.lock: refreshed with make constraints. Only the specifier line changed; constraints/ci.txt pins are unchanged.
  • CHANGELOG.md: entry under Unreleased → Fixed.

Test plan

  • Matmul repro across the versions above
  • fd.clean (default and semantic_mode="assist") plus a 1500×1500 matmul on numpy 1.22.0 / pandas 1.5.0 / Python 3.9
  • make constraints leaves constraints/ci.txt unchanged, so the lockfile job should pass

The numpy 1.21.6 wheel bundles an OpenBLAS that segfaults on BLAS-backed
matrix multiplies on current Apple Silicon Macs (reproduced on an M5 with
macOS 26), even with OPENBLAS_NUM_THREADS=1 or an OPENBLAS_CORETYPE
override. numpy 1.22.0 through 2.0.2 run the same workload cleanly, and
every supported Python (>=3.9) has 1.22 wheels, so the old floor only
admitted a broken install.
@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 591050ae-8b19-4fe7-aa18-c50f4470a7f4


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kevincostner17
kevincostner17 merged commit b035482 into main Sep 14, 2026
19 checks passed
@kevincostner17
kevincostner17 deleted the fix/numpy-floor-apple-silicon branch September 14, 2026 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant