python-dill fails to build with Python 3.13.0a3. + /usr/bin/python3 dill/tests/__main__.py F.....F...F...............<function <lambda> at 0x7efdedc1c720> <function <lambda> at 0x7f406e588720> <function <lambda> at 0x7f1a787f8720> <function <lambda> at 0x7f2fcec50720> <function <lambda> at 0x7fc2936b8720> .. error: Bad exit status from /var/tmp/rpm-tmp.2ZlP8Q (%check) https://docs.python.org/3.13/whatsnew/3.13.html For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.13/fedora-rawhide-x86_64/06996765-python-dill/ For all our attempts to build python-dill with Python 3.13, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.13/package/python-dill/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.13: https://copr.fedorainfracloud.org/coprs/g/python/python3.13/ Let us know here if you have any questions. Python 3.13 is planned to be included in Fedora 41. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.13. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
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
https://src.fedoraproject.org/rpms/python-dill/pull-request/2
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 (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.