Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 33.9k
Closed
Labels
Description
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.
Linked PRs
Metadata
Metadata
Assignees
Labels
Projects
Status
Done