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

Reply via email to