Skip to content

Regressions on Python 3.12: TypeError: cannot pickle 'IndexedGzipFile' instances #125

Closed
@musicinmybrain

Description

@musicinmybrain

In Fedora Rawhide (the development version), we just rebuilt all Python packages with a pre-release of Python 3.12. (We will branch Fedora 39 soon and release it in the fall, around the same time as Python 3.12 itself.)

When I build indexed_gzip with Python 3.12 (without nibabel integration tests for now), I see the following failures:

=========================== short test summary info ============================
FAILED ../../BUILDROOT/python-indexed_gzip-1.7.1-3.fc39.x86_64/usr/lib64/python3.12/site-packages/indexed_gzip/tests/test_indexed_gzip.py::test_multiproc_serialise
FAILED ../../BUILDROOT/python-indexed_gzip-1.7.1-3.fc39.x86_64/usr/lib64/python3.12/site-packages/indexed_gzip/tests/test_indexed_gzip.py::test_picklable
FAILED ../../BUILDROOT/python-indexed_gzip-1.7.1-3.fc39.x86_64/usr/lib64/python3.12/site-packages/indexed_gzip/tests/test_indexed_gzip.py::test_copyable
===== 3 failed, 86 passed, 1 skipped, 35597 warnings in 520.36s (0:08:40) ======

All of these are due to

E       TypeError: cannot pickle 'IndexedGzipFile' instances

Unfortunately, I can’t offer instructions for reproducing this in a virtual environment, because numpy doesn’t plan to make a release compatible with Python 3.12 until rc1 (numpy/numpy#23808 (comment)); we’re using a patched version in Fedora Rawhide for now. I can easily test any candidate fixes, though.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions