https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114872
--- Comment #7 from Antonio Rojas <arojas at archlinux dot org> ---
(In reply to Sam James from comment #5)
> Some ideas:
> * Could you maybe give a reproducer for the runtime crash?
In sage, calling any libgap function in exactly 3 parameters triggers this. For
instance:
sage: libgap.AbelianGroup(0,0,0)
Note that you need Python 3.12 to get the crash (which happens when trying to
derefence the null pointer in the newly introduced _Py_IsImmortal function)
> * Any chance you'd be willing to try bisect element.i with pragmas to
> disable/enable optimisation for chunks of it, to find the miscompiled
> function?
I have done that. As expected, the problem is in Py_XDECREF. This makes the
problem disappear:
#pragma GCC push_options
#pragma GCC optimize ("O0")
static inline void Py_XDECREF(PyObject *op)
{
if (op !=
# 797 "/usr/include/python3.12/object.h" 3 4
((void *)0)
# 797 "/usr/include/python3.12/object.h"
) {
Py_DECREF(((PyObject*)((op))));
}
}
#pragma GCC pop_options