Ah sorry, *this* is the CPython issue: https://github.com/python/cpython/issues/133164
On Sun, Dec 14, 2025 at 5:57 AM Nathan <[email protected]> wrote: > Sebastian is talking about the temporary elision checks, which happen on > Mac and Linux for sufficient large arrays by doing a somewhat cursed check > involving stack unwinding to verify that numpy or Python created the array, > and not a C extension. > > Python 3.14 changed the semantics for this, now it’s possible more often > for an object to have a reference count of 1 but not actually be a > temporary. > > See > https://github.com/numpy/numpy/issues/28681 > for the issue tracking the provlem and > https://github.com/numpy/numpy/pull/29649 where I fixed this in NumPy 2.x. > > Also see > https://github.com/python/cpython/issues/133140 for the CPython issue > about this. > > Now, for what to do about this, I think maybe it is worth uploading a new > 1.x release that errors out more usefully on 3.14. I’m not sure how painful > that is and we also need to make sure we don’t accidentally break older > Python versions. > > On Sun, Dec 14, 2025 at 5:20 AM Peter Wang via NumPy-Discussion < > [email protected]> wrote: > >> Thanks for the heads up, Sebastian. Out of curiosity, what is the trick? >> (Or can you link to a ticket on the issue tracker?) >> >> Thanks, >> Peter >> >> On Sun, Dec 14, 2025 at 6:15 AM Sebastian Berg < >> [email protected]> wrote: >> >>> Hi all, >>> >>> a small piece of information: >>> >>> NumPy 1.x was not released with support for Python 3.14. >>> >>> Most of the time, a too new Python versions (in recent past) just broke >>> compilation. However, this time around optimization work together with >>> the one bit of arcane optimization tricks in NumPy *will* cause >>> silently incorrect results in most non-trivial code [1]. >>> >>> There are no releases to yank or upper bounds to set so I didn't think >>> we can actually do anything about it. But this just came up again (this >>> time in pandas). >>> IThe only (new) idea I have would be to upload a Python 1.26 + Python >>> 3.14 wheel that includes no code besides raising an error at install >>> time. >>> (Anyone who is running into issues is compiling NumPy from scratch, but >>> I guess they would probably use the wheel first if available.) >>> >>> Cheers, >>> >>> Sebastian >>> >>> >>> [1] May affect windows builds less badly, where NumPy doesn't do this >>> trick, but what does it matter.... >>> _______________________________________________ >>> NumPy-Discussion mailing list -- [email protected] >>> To unsubscribe send an email to [email protected] >>> https://mail.python.org/mailman3//lists/numpy-discussion.python.org >>> Member address: [email protected] >>> >> _______________________________________________ >> NumPy-Discussion mailing list -- [email protected] >> To unsubscribe send an email to [email protected] >> https://mail.python.org/mailman3//lists/numpy-discussion.python.org >> Member address: [email protected] >> >
_______________________________________________ NumPy-Discussion mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3//lists/numpy-discussion.python.org Member address: [email protected]
