There is a missing tp_traverse on the New_PyArrayDescr_spec (which derives from the New_PyArrayDescr_spec_prototype), since PyArray_Descr has HPyFields. PyPy requires these, and will not let HPyField_Store work if the tp_traverse is missing. Since HPyField_Store has a void return value, PyPy will exit. I will submit a PR to add the missing tp_traverse and also raise a HPy issue to change the return value so an error can properly be reported.
There is a missing
tp_traverseon theNew_PyArrayDescr_spec(which derives from theNew_PyArrayDescr_spec_prototype), sincePyArray_DescrhasHPyFields. PyPy requires these, and will not letHPyField_Storework if thetp_traverseis missing. SinceHPyField_Storehas a void return value, PyPy will exit. I will submit a PR to add the missingtp_traverseand also raise a HPy issue to change the return value so an error can properly be reported.