Source: indexed-gzip Version: 1.7.0-1.1 Severity: important Tags: ftbfs patch User: debian-pyt...@lists.debian.org Usertags: python3.12
Hi Maintainer indexed-gzip FTBFS with Python 3.12 as the default version (i.e. with python3-defaults/3.12.1-1 from experimental). I've copied what I hope is the relevant part of the log below. Please see the upstream issue [1], which is linked to the commit where this is fixed. Regards Graham [1] https://github.com/pauldmccarthy/indexed_gzip/issues/125 =================================== FAILURES =================================== ________________________________ test_picklable ________________________________ @pytest.mark.slow_test def test_picklable(): > ctest_indexed_gzip.test_picklable() ../indexed_gzip/tests/test_indexed_gzip.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ indexed_gzip/tests/ctest_indexed_gzip.pyx:1045: in indexed_gzip.tests.ctest_indexed_gzip.test_picklable ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > ??? E TypeError: cannot pickle 'IndexedGzipFile' instances indexed_gzip/tests/ctest_indexed_gzip.pyx:1055: TypeError ----------------------------- Captured stdout call ----------------------------- Compressing data with a single call to gzip ... test.gz Waiting (1.00 minutes) Waiting (1.00 minutes) ________________________________ test_copyable _________________________________ def test_copyable(): > ctest_indexed_gzip.test_copyable() ../indexed_gzip/tests/test_indexed_gzip.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ indexed_gzip/tests/ctest_indexed_gzip.pyx:1088: in indexed_gzip.tests.ctest_indexed_gzip.test_copyable ??? indexed_gzip/tests/ctest_indexed_gzip.pyx:1096: in indexed_gzip.tests.ctest_indexed_gzip.test_copyable ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ x = <IndexedGzipFile>, memo = {}, _nil = [] def deepcopy(x, memo=None, _nil=[]): """Deep copy operation on arbitrary Python objects. See the module's __doc__ string for more info. """ if memo is None: memo = {} d = id(x) y = memo.get(d, _nil) if y is not _nil: return y cls = type(x) copier = _deepcopy_dispatch.get(cls) if copier is not None: y = copier(x, memo) else: if issubclass(cls, type): y = _deepcopy_atomic(x, memo) else: copier = getattr(x, "__deepcopy__", None) if copier is not None: y = copier(memo) else: reductor = dispatch_table.get(cls) if reductor: rv = reductor(x) else: reductor = getattr(x, "__reduce_ex__", None) if reductor is not None: > rv = reductor(4) E TypeError: cannot pickle 'IndexedGzipFile' instances /usr/lib/python3.12/copy.py:151: TypeError ----------------------------- Captured stdout call ----------------------------- Compressing data with a single call to gzip ... test.gz Waiting (1.00 minutes) Waiting (1.00 minutes) ___________________________ test_multiproc_serialise ___________________________ @pytest.mark.slow_test def test_multiproc_serialise(): > ctest_indexed_gzip.test_multiproc_serialise() ../indexed_gzip/tests/test_indexed_gzip.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ indexed_gzip/tests/ctest_indexed_gzip.pyx:1152: in indexed_gzip.tests.ctest_indexed_gzip.test_multiproc_serialise ??? indexed_gzip/tests/ctest_indexed_gzip.pyx:1166: in indexed_gzip.tests.ctest_indexed_gzip.test_multiproc_serialise ??? /usr/lib/python3.12/multiprocessing/pool.py:367: in map return self._map_async(func, iterable, mapstar, chunksize).get() /usr/lib/python3.12/multiprocessing/pool.py:774: in get raise self._value /usr/lib/python3.12/multiprocessing/pool.py:540: in _handle_tasks put(task) /usr/lib/python3.12/multiprocessing/connection.py:206: in send self._send_bytes(_ForkingPickler.dumps(obj)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = <class 'multiprocessing.reduction.ForkingPickler'> obj = (7, 0, <function mapstar at 0x7fe07779bec0>, ((functools.partial(<built-in function _mpfunc>, <IndexedGzipFile>, 2500000), (0,)),), {}) protocol = None @classmethod def dumps(cls, obj, protocol=None): buf = io.BytesIO() > cls(buf, protocol).dump(obj) E TypeError: cannot pickle 'IndexedGzipFile' instances /usr/lib/python3.12/multiprocessing/reduction.py:51: TypeError