You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
class A:
def __buffer__(self, flags):
return memoryview(bytes(8))
def __release_buffer__(self, view):
pass # do not need to do anything here, just needs to exist
b = bytearray(8)
m = memoryview(b) # now b.extend will raise an exception due to exports
b.extend(A())
In a debug build this crashes with Assertion failed: (!PyErr_Occurred()), function _PyType_Lookup, file typeobject.c, line 4707.
Reported by @chilaxan. I'll work on a fix later today.
Most likely, the fix will be to call PyErr_Fetch/PyErr_Restore around calls to Python __release_buffer__ methods.
In a debug build this crashes with
Assertion failed: (!PyErr_Occurred()), function _PyType_Lookup, file typeobject.c, line 4707.Reported by @chilaxan. I'll work on a fix later today.
Most likely, the fix will be to call
PyErr_Fetch/PyErr_Restorearound calls to Python__release_buffer__methods.Linked PRs
mv.release#104417