Bug 2264225
| Summary: | python-dill fails to build with Python 3.13: 3 tests fail | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Karolina Surma <ksurma> |
| Component: | python-dill | Assignee: | Sergio Pascual <sergio.pasra> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 41 | CC: | code, fti-bugs, ksurma, mhroncok, sergio.pasra |
| Target Milestone: | --- | Keywords: | Reopened |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | python-dill-0.3.9~~20240914.8b86f509-1.fc42 python-dill-0.3.9~~20240914.8b86f509-1.fc41 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2024-10-01 01:14:56 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 2244836, 2246347, 2291509, 2291565, 2291567, 2291594, 2291599, 2291659, 2291706, 2291707, 2291708, 2291726, 2291735, 2291746, 2291790, 2291794, 2291833, 2291842, 2291845, 2291861, 2291895, 2291917, 2291919, 2292011 | ||
|
Description
Karolina Surma
2024-02-14 17:10:24 UTC
I have tried to see what is happening. The curious test system doesn't give a lot of information to work with, sorry. Please, go ahead. I looked at the package and tried to identify the failing tests. A segmentation fault happens when executing 3 of them. <mock-chroot> sh-5.2# /usr/bin/python3 tests/__main__.py .<function <lambda> at 0x7fa181c71b20> <function <lambda> at 0x7fb0a2e59b20> <function <lambda> at 0x7f93ce41db20> <function <lambda> at 0x7f99795c8040> <function <lambda> at 0x7f1a8850db20> ................ /builddir/build/BUILDROOT/python-dill-0.3.8-1.fc41.x86_64/usr/lib/python3.13/site-packages/dill/tests/test_objects.py F... /builddir/build/BUILDROOT/python-dill-0.3.8-1.fc41.x86_64/usr/lib/python3.13/site-packages/dill/tests/test_registered.py F...../builddir/build/BUILDROOT/python-dill-0.3.8-1.fc41.x86_64/usr/lib/python3.13/site-packages/dill/tests/test_weakref.py F <mock-chroot> sh-5.2# /usr/bin/python3 tests/test_objects.py Segmentation fault (core dumped) Upon further investigation I've managed to isolate the change to a reproducer not involving dill at all. Reported at CPython: https://github.com/python/cpython/issues/117281 python-dill has built successfully with alpha6, but now, when building multiprocess, there's another issue:
ERROR: test_fork (__main__.WithProcessesTestQueue.test_fork)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/builddir/build/BUILDROOT/python-multiprocess-0.70.16-2.fc41.x86_64/usr/lib/python3.13/site-packages/multiprocess/tests/__init__.py", line 1187, in test_fork
p.start()
~~~~~~~^^
File "/builddir/build/BUILDROOT/python-multiprocess-0.70.16-2.fc41.x86_64/usr/lib/python3.13/site-packages/multiprocess/process.py", line 121, in start
self._popen = self._Popen(self)
~~~~~~~~~~~^^^^^^
File "/builddir/build/BUILDROOT/python-multiprocess-0.70.16-2.fc41.x86_64/usr/lib/python3.13/site-packages/multiprocess/context.py", line 224, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/builddir/build/BUILDROOT/python-multiprocess-0.70.16-2.fc41.x86_64/usr/lib/python3.13/site-packages/multiprocess/context.py", line 289, in _Popen
return Popen(process_obj)
~~~~~^^^^^^^^^^^^^
File "/builddir/build/BUILDROOT/python-multiprocess-0.70.16-2.fc41.x86_64/usr/lib/python3.13/site-packages/multiprocess/popen_spawn_posix.py", line 32, in __init__
super().__init__(process_obj)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/builddir/build/BUILDROOT/python-multiprocess-0.70.16-2.fc41.x86_64/usr/lib/python3.13/site-packages/multiprocess/popen_fork.py", line 19, in __init__
self._launch(process_obj)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "/builddir/build/BUILDROOT/python-multiprocess-0.70.16-2.fc41.x86_64/usr/lib/python3.13/site-packages/multiprocess/popen_spawn_posix.py", line 47, in _launch
reduction.dump(process_obj, fp)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILDROOT/python-multiprocess-0.70.16-2.fc41.x86_64/usr/lib/python3.13/site-packages/multiprocess/reduction.py", line 63, in dump
ForkingPickler(file, protocol, *args, **kwds).dump(obj)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 420, in dump
StockPickler.dump(self, obj)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 483, in dump
self.save(obj)
~~~~~~~~~^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 599, in save
self.save_reduce(obj=obj, *rv)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 713, in save_reduce
save(state)
~~~~^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 556, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 1217, in save_module_dict
StockPickler.save_dict(pickler, obj)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 968, in save_dict
self._batch_setitems(obj.items())
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 992, in _batch_setitems
save(v)
~~~~^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 556, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 1473, in save_instancemethod0
pickler.save_reduce(MethodType, (obj.__func__, obj.__self__), obj=obj)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 688, in save_reduce
save(args)
~~~~^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 556, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 883, in save_tuple
save(element)
~~~~^^^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 556, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 1832, in save_type
_save_with_postproc(pickler, (_create_type, (
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
type(obj), obj.__name__, obj.__bases__, _dict
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)), obj=obj, postproc_list=postproc_list)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 1098, in _save_with_postproc
pickler.save_reduce(*reduction, obj=obj)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 688, in save_reduce
save(args)
~~~~^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 556, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 898, in save_tuple
save(element)
~~~~^^^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 556, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 1217, in save_module_dict
StockPickler.save_dict(pickler, obj)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 968, in save_dict
self._batch_setitems(obj.items())
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 992, in _batch_setitems
save(v)
~~~~^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 556, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 883, in save_tuple
save(element)
~~~~^^^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 599, in save
self.save_reduce(obj=obj, *rv)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 688, in save_reduce
save(args)
~~~~^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 556, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 883, in save_tuple
save(element)
~~~~^^^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 556, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 928, in save_list
self._batch_appends(obj)
~~~~~~~~~~~~~~~~~~~^^^^^
File "/usr/lib64/python3.13/pickle.py", line 955, in _batch_appends
save(tmp[0])
~~~~^^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 599, in save
self.save_reduce(obj=obj, *rv)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 713, in save_reduce
save(state)
~~~~^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 556, in save
f(self, obj) # Call unbound method with explicit self
~^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 1217, in save_module_dict
StockPickler.save_dict(pickler, obj)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 968, in save_dict
self._batch_setitems(obj.items())
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 992, in _batch_setitems
save(v)
~~~~^^^
File "/usr/lib/python3.13/site-packages/dill/_dill.py", line 414, in save
StockPickler.save(self, obj, save_persistent_id)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.13/pickle.py", line 574, in save
rv = reduce(self.proto)
~~~~~~^^^^^^^^^^^^
TypeError: cannot pickle '_thread._ThreadHandle' object
Upstream issue: https://github.com/uqfoundation/dill/issues/654 This blocks at least:
mpi4py -> python-pytest-mpi -> h5py
$ repoquery -q --repo=rawhide{,-source} --whatrequires python3-dill --whatrequires python3-mpi4py-mpich --whatrequires python3-mpi4py-openmpi --whatrequires python3-pytest-mpi --whatrequires python3-h5py --whatrequires python3-h5py-mpich --whatrequires python3-h5py-openmpi
MUSIC-0:1.2.1-5.fc40.src
PyMca-0:5.9.2-3.fc40.src
PyMca-0:5.9.2-3.fc40.x86_64
arbor-0:0.9.0-7.fc41.src
arbor-mpich-0:0.9.0-7.fc41.x86_64
arbor-openmpi-0:0.9.0-7.fc41.x86_64
diffoscope-0:264-1.fc41.src
espresso-0:4.2.2-1.fc41.src
h5py-0:3.11.0-1.fc41.src
libsonata-0:0.1.23-6.fc40.src
morphio-0:3.3.9-2.fc41.src
mpi4py-0:3.1.6-1.fc41.src
netgen-mesher-0:6.2.2403-2.fc41.src
neuron-0:8.2.2-9.fc40.src
neuron-mpich-0:8.2.2-9.fc40.x86_64
neuron-openmpi-0:8.2.2-9.fc40.x86_64
paraview-0:5.12.0-3.fc41.src
paraview-mpich-0:5.12.0-3.fc41.x86_64
paraview-openmpi-0:5.12.0-3.fc41.x86_64
pylint-0:3.2.2-1.fc41.src
python-astropy-0:5.3.2-9.fc41.src
python-bioread-0:3.0.1-4.fc40.src
python-dask-0:2024.2.1-3.fc41~bootstrap.src
python-dijitso-0:2019.1.0-18.fc40.src
python-dipy-0:1.9.0-6.fc41.src
python-emcee-0:3.1.6-2.fc41.src
python-exdir-0:0.5.0.1-4.fc41.src
python-fslpy-0:3.19.0-1.fc41.src
python-h5io-0:0.2.2-1.fc41.src
python-h5netcdf-0:1.2.0-3.fc40.src
python-hdf5storage-0:0.1.18-12.fc40.src
python-hdmf-0:3.14.0-2.fc41.src
python-klusta-0:3.0.16-27.fc41.src
python-lazy-ops-0:0.2.0-13.fc40.src
python-lfpy-0:2.3-5.fc40.src
python-mne-0:1.6.1-6.fc41.src
python-multiprocess-0:0.70.16-2.fc41.src
python-netpyne-0:1.0.6-4.fc41.src
python-nibabel-0:5.2.1-3.fc41.src
python-nixio-0:1.5.3-10.fc40.src
python-opytimizer-0:3.1.2-6.fc40.src
python-pathos-0:0.3.2-2.fc41.src
python-probeinterface-0:0.2.21-1.fc40.src
python-pymapvbvd-0:0.5.7-3.fc41.src
python-pymatreader-0:0.0.32-5.fc40.src
python-pynn-0:0.12.3-2.fc41.src
python-pynwb-0:2.5.0-5.fc40.src
python-pyqtgraph-0:0.13.7-1.fc41.src
python-pyscf-0:2.5.0-1.fc41.src
python-pytest-mpi-0:0.6-8.fc40.src
python-simframe-0:1.0.4-4.fc40.src
python-spyking-circus-0:1.1.0-11.fc40.src
python-zarr-0:2.16.1-1.fc40.src
python3-MUSIC-mpich-0:1.2.1-5.fc40.x86_64
python3-MUSIC-openmpi-0:1.2.1-5.fc40.x86_64
python3-bioread+all-0:3.0.1-4.fc40.noarch
python3-bioread+hdf5-0:3.0.1-4.fc40.noarch
python3-dijitso-0:2019.1.0-18.fc40.noarch
python3-dill+readline-0:0.3.8-1.fc40.noarch
python3-dipy-0:1.9.0-6.fc41.x86_64
python3-espresso-mpich-0:4.2.2-1.fc41.x86_64
python3-espresso-openmpi-0:4.2.2-1.fc41.x86_64
python3-fslpy-0:3.19.0-1.fc41.noarch
python3-h5io-0:0.2.2-1.fc41.noarch
python3-h5netcdf-0:1.2.0-3.fc40.noarch
python3-h5py-mpich-0:3.11.0-1.fc41.x86_64
python3-h5py-openmpi-0:3.11.0-1.fc41.x86_64
python3-hdf5storage-0:0.1.18-12.fc40.noarch
python3-hdmf-0:3.14.0-2.fc41.noarch
python3-klusta-0:3.0.16-27.fc41.noarch
python3-lazy-ops-0:0.2.0-13.fc40.noarch
python3-lfpy-0:2.3-5.fc40.x86_64
python3-multiprocess-0:0.70.16-2.fc41.noarch
python3-nixio-0:1.5.3-10.fc40.noarch
python3-opytimizer-0:3.1.2-6.fc40.noarch
python3-pathos-0:0.3.2-2.fc41.noarch
python3-pylint-0:3.2.2-1.fc41.noarch
python3-pymapvbvd-0:0.5.7-3.fc41.noarch
python3-pymatreader-0:0.0.32-5.fc40.x86_64
python3-pynwb-0:2.5.0-5.fc40.noarch
python3-pyscf-0:2.5.0-1.fc41.x86_64
python3-simframe-0:1.0.4-4.fc40.noarch
python3-spyking-circus-0:1.1.0-11.fc40.noarch
python3-tvb-data-0:1.5.9-15.fc40.noarch
veusz-0:3.6.2-4.fc40.src
votca-0:2024-2.fc40.src
The dependency in mpi4py was unused, I opened https://src.fedoraproject.org/rpms/mpi4py/pull-request/2 The current failure on Python 3.13.0b1 looks like this:
$ gh repo clone uqfoundation/dill
$ cd dill
$ python3.13 -V
Python 3.13.0b1
$ tox -e py313
.pkg: _optional_hooks> python /usr/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: get_requires_for_build_sdist> python /usr/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: get_requires_for_build_wheel> python /usr/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: prepare_metadata_for_build_wheel> python /usr/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta
.pkg: build_sdist> python /usr/lib/python3.12/site-packages/pyproject_api/_backend.py True setuptools.build_meta
py313: install_package> python -I -m pip install --force-reinstall --no-deps /home/ben/src/forks/dill/.tox/.tmp/package/2/dill-0.3.9.dev0.tar.gz
py313: commands[0]> .tox/py313/bin/python -m pip install .
Processing /home/ben/src/forks/dill
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: dill
Building wheel for dill (pyproject.toml) ... done
Created wheel for dill: filename=dill-0.3.9.dev0-py3-none-any.whl size=116162 sha256=86a3739b5a701f9aefd7840a31f695eefa0e8408a55028bfe497423a5d87d061
Stored in directory: /tmp/pip-ephem-wheel-cache-sukup0uc/wheels/4b/69/4e/74fd16e96eb0e05af8c484f673696525e999353b5fec3ad50d
Successfully built dill
Installing collected packages: dill
Attempting uninstall: dill
Found existing installation: dill 0.3.9.dev0
Uninstalling dill-0.3.9.dev0:
Successfully uninstalled dill-0.3.9.dev0
Successfully installed dill-0.3.9.dev0
py313: commands[1]> .tox/py313/bin/python dill/tests/__main__.py
.<function <lambda> at 0x7fecfbe8be20>
<function <lambda> at 0x7f937fe8be20>
<function <lambda> at 0x7fed0408be20>
<function <lambda> at 0x7fbd8328be20>
<function <lambda> at 0x7f2a7ea8be20>
Traceback (most recent call last):
File "/home/ben/src/forks/dill/dill/tests/test_detect.py", line 154, in <module>
test_bad_things()
~~~~~~~~~~~~~~~^^
File "/home/ben/src/forks/dill/dill/tests/test_detect.py", line 32, in test_bad_things
assert len(s) is len(a) # TypeError (and possibly PicklingError)
^^^^^^^^^^^^^^^^
AssertionError
...F.......................
py313: exit 1 (1.79 seconds) /home/ben/src/forks/dill> .tox/py313/bin/python dill/tests/__main__.py pid=182079
py313: FAIL code 1 (6.48=setup[2.72]+cmd[1.97,1.79] seconds)
evaluation failed :( (6.53 seconds)
s is:
{('TypeError', "cannot pickle 'frame' object"), ('TypeError', "cannot pickle 'FrameLocalsProxy' object")}
and a is:
{'TypeError': "cannot pickle 'FrameLocalsProxy' object"}
which appears related in some way to PEP 667.
I have commented in the upstream issue: https://github.com/uqfoundation/dill/issues/654#issuecomment-2148637243
*** Bug 2291671 has been marked as a duplicate of this bug. *** I have built a version of dill without the tests, with the hope that at least some of the F41FailsToInstall can be fixed. The tests are inside a bcond https://koji.fedoraproject.org/koji/buildinfo?buildID=2471158 Hello, Please note that this comment was generated automatically by https://pagure.io/releng/blob/main/f/scripts/ftbfs-fti/follow-policy.py If you feel that this output has mistakes, please open an issue at https://pagure.io/releng/ All subpackages of a package against which this bug was filled are now installable or removed from Fedora 41. Thanks for taking care of it! (In reply to Sergio Pascual from comment #9) > I have built a version of dill without the tests, with the hope that at > least some of the F41FailsToInstall can be fixed. The tests are inside a > bcond I've removed the FailsToInstall tracker to avoid autoclosure. This package is likely still broken, see bz2246347. (In reply to Miro Hrončok from comment #11) > (In reply to Sergio Pascual from comment #9) > > I have built a version of dill without the tests, with the hope that at > > least some of the F41FailsToInstall can be fixed. The tests are inside a > > bcond > > I've removed the FailsToInstall tracker to avoid autoclosure. This package > is likely still broken, see bz2246347. Yes, I was trying to write preciselly that, but I have collisioned with you! Analysis of dependent packages: ==== pylint ==== OK. Tests relating to dill are not extremely thorough. Parallel mode works, e.g. "pylint -j0 /usr/lib/python3.13/site-packages/setuptools" in a Rawhide chroot, so I think pylint is not using the broken parts, i.e., pickling thread handles. ==== python-fslpy ==== OK. Use of dill is confined to fsl/utils/run.py and fsl/utils/fslsub.py. It’s pretty straightforward usage, and I think python-fslpy is also managing to avoid needing to pickle a thread handle. ==== python-multiprocess ==== FTBFS, bug 2246347. Many tests fail or error with TypeError: cannot pickle '_thread._ThreadHandle' object. ==== python-netpyne ==== Used only in netpyne/batch/sbi_parallel.py. Seems to be OK since it’s not pickling thread handles. ==== python-opytimizer ==== Used for persisting models to file storage. Seems to be avoiding pickling thread handles, too. ==== python-pathos ==== FTBFS, bug 2301194, bug 2291833. Needs python-multiprocess working (and might have issues with its direct use of dill too – who knows?) ==== python-simframe ==== OK – either it is not persisting thread handles, or the test don’t reveal it. ------------------------------------------------------------ So the problem cases among directly-dependent packages are python-multiprocess and python-pathos. Here is the graph of dependent packages I found for those. python-multiprocess ----------------> python-SALib |||\-> python-pathos -^ \\\-> python-cro \\-> python-jenkins -> python-jenkins-job-builder \-> python-sklearn-genetic FEDORA-2024-8b3e88405f (python-dill-0.3.9~~20240914.8b86f509-1.fc42) has been submitted as an update to Fedora 42. https://bodhi.fedoraproject.org/updates/FEDORA-2024-8b3e88405f FEDORA-2024-8b3e88405f (python-dill-0.3.9~~20240914.8b86f509-1.fc42) has been pushed to the Fedora 42 stable repository. If problem still persists, please make note of it in this bug report. FEDORA-2024-725de708a9 (python-cro-0.0.5.2-7.fc41, python-dill-0.3.9~~20240914.8b86f509-1.fc41, and 2 more) has been submitted as an update to Fedora 41. https://bodhi.fedoraproject.org/updates/FEDORA-2024-725de708a9 FEDORA-2024-725de708a9 has been pushed to the Fedora 41 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-725de708a9` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-725de708a9 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2024-725de708a9 has been pushed to the Fedora 41 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-725de708a9` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-725de708a9 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2024-725de708a9 (python-cro-0.0.5.2-7.fc41, python-dill-0.3.9~~20240914.8b86f509-1.fc41, and 5 more) has been pushed to the Fedora 41 stable repository. If problem still persists, please make note of it in this bug report. |