Open clin1234 opened 3 days ago
Possibly a CPython issue as well: python/cpython#127411
Okay, that's a real problem. At first sight, it looks like it's Cython digging into CPython private internals, which have probably just changed. That tends to break regularly, and is more a synchronization problem than a bug - Cython will not be up-to-date with changes to CPython internals at this point in the CPython release cycle.
I'll note that we're targeting the 3.13 free-threading interpreter for now, there is no CI and no active work to keep main
branches of all projects working together. NumPy typically starts looking at this when CPython hits beta 1 around May.
If you want this to work now, you should probably be prepared to participate in the fun of fixing issues like these up as they arise.
This access into the frame internals is really just to set a line number. That seem silly but it's we don't have another good way of doing it and it's pretty necessary to get useful tracebacks out of Cython code.
In a real emergency we could could resort to the limited API fallback code instead. I'd rather not because it makes exceptions really slow, but it's an option if nothing else works.
For a wild guess at using that as a short-term solution you can define the C macro CYTHON_LIMITED_API=1
(but not Py_LIMITED_API
). I don't see anything in _specfunc.pyx
to make me think that won't work, but I haven't tried it myself.
Fix past goof with #21968