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. |