Closed as not planned
Description
Crash report
The following script crashes at finalization stage:
import unittest
import pickle
class Test(unittest.TestCase):
def test_non_continuous_buffer(self):
pb = pickle.PickleBuffer(memoryview(b"foobar")[::2])
pb.raw()
unittest.main()
Output:
E
======================================================================
ERROR: test_non_continuous_buffer (__main__.Test.test_non_continuous_buffer)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/serhiy/py/cpython/test_non_continuous_buffer.py", line 7, in test_non_continuous_buffer
pb.raw()
~~~~~~^^
BufferError: cannot extract raw buffer from non-contiguous buffer
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (errors=1)
python: Objects/memoryobject.c:125: mbuf_dealloc: Assertion `self->exports == 0' failed.
Aborted (core dumped)
I cannot yet reproduce the crash without unittest
, perhaps it is related to some reference loop.
The crash is only happens in 3.12 an newer. In 3.8-3.11 it just raises an exception (PickleBuffer
was added in 3.8).
cc @pitrou
Linked PRs
Metadata
Metadata
Assignees
Labels
Projects
Status
Done