Bug 2323157
Summary: | python-dill fails to build with Python 3.14: TypeError: _Pickler._batch_setitems() missing 1 required positional argument: 'obj' | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Karolina Surma <ksurma> |
Component: | python-dill | Assignee: | Sergio Pascual <sergio.pasra> |
Status: | NEW --- | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | gui1ty, ksurma, mhroncok, sergio.pasra |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 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: | 2322407 |
Description
Karolina Surma
2024-11-01 14:31:06 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle. Changing version to 42. After changing the line in dill/_dill.py (to accommodate to changes published in https://github.com/python/cpython/commit/c0c2aa7644ebd4953682784dbb9904fe955ff647): - pickler._batch_setitems(iter(source.items())) + pickler._batch_setitems(iter(source.items()), obj) I get to run tests to see the failure in test_registered.py: + /usr/bin/python3 dill/tests/__main__.py .<function <lambda> at 0x7f4ad7cb1380> <function <lambda> at 0x7f012470d380> <function <lambda> at 0x7ff19d95d380> <function <lambda> at 0x7f96d19dbd70> <function <lambda> at 0x7f430e615380> ....................SUCCESS: ['CountType', 'ChainType', 'ProductType', 'CycleType', 'PermutationsType', 'CombinationsType', 'RepeatType', 'CompressType'] Traceback (most recent call last): File "/builddir/build/BUILD/python-dill-0.3.9-build/dill-0.3.9/dill/tests/test_registered.py", line 45, in <module> raise e from None File "/builddir/build/BUILD/python-dill-0.3.9-build/dill-0.3.9/dill/tests/test_registered.py", line 42, in <module> assert not bool(success) ^^^^^^^^^^^^^^^^^ AssertionError F........ I backported upstream's solution to this issue: https://src.fedoraproject.org/rpms/python-dill/pull-request/4 The current failure is: + /usr/bin/python3 dill/tests/__main__.py .<function <lambda> at 0x7fcd44b91640> <function <lambda> at 0x7fac6d4cd640> <function <lambda> at 0x7f1654c2d640> <function <lambda> at 0x7f074ec6ef00> <function <lambda> at 0x7f736f111640> ...........................Traceback (most recent call last): File "/builddir/build/BUILD/python-dill-0.4.0-build/dill-0.4.0/dill/tests/test_threads.py", line 45, in <module> test_run_thread() ~~~~~~~~~~~~~~~^^ File "/builddir/build/BUILD/python-dill-0.4.0-build/dill-0.4.0/dill/tests/test_threads.py", line 25, in test_run_thread t_ = dill.copy(t) File "/builddir/build/BUILD/python-dill-0.4.0-build/BUILDROOT/usr/lib/python3.14/site-packages/dill/_dill.py", line 248, in copy return loads(dumps(obj, *args, **kwds), ignore=ignore) ~~~~~^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/python-dill-0.4.0-build/BUILDROOT/usr/lib/python3.14/site-packages/dill/_dill.py", line 288, in dumps dump(obj, file, protocol, byref, fmode, recurse, **kwds)#, strictio) ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/python-dill-0.4.0-build/BUILDROOT/usr/lib/python3.14/site-packages/dill/_dill.py", line 260, in dump Pickler(file, protocol, **_kwds).dump(obj) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^ File "/builddir/build/BUILD/python-dill-0.4.0-build/BUILDROOT/usr/lib/python3.14/site-packages/dill/_dill.py", line 428, in dump StockPickler.dump(self, obj) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "/usr/lib64/python3.14/pickle.py", line 498, in dump self.save(obj) ~~~~~~~~~^^^^^ File "/builddir/build/BUILD/python-dill-0.4.0-build/BUILDROOT/usr/lib/python3.14/site-packages/dill/_dill.py", line 422, in save StockPickler.save(self, obj, save_persistent_id) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/pickle.py", line 615, in save self.save_reduce(obj=obj, *rv) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/pickle.py", line 761, in save_reduce save(state) ~~~~^^^^^^^ File "/builddir/build/BUILD/python-dill-0.4.0-build/BUILDROOT/usr/lib/python3.14/site-packages/dill/_dill.py", line 422, in save StockPickler.save(self, obj, save_persistent_id) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/pickle.py", line 572, in save f(self, obj) # Call unbound method with explicit self ~^^^^^^^^^^^ File "/builddir/build/BUILD/python-dill-0.4.0-build/BUILDROOT/usr/lib/python3.14/site-packages/dill/_dill.py", line 1262, in save_module_dict StockPickler.save_dict(pickler, obj) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/pickle.py", line 1064, in save_dict self._batch_setitems(obj.items(), obj) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/pickle.py", line 1090, in _batch_setitems save(v) ~~~~^^^ File "/builddir/build/BUILD/python-dill-0.4.0-build/BUILDROOT/usr/lib/python3.14/site-packages/dill/_dill.py", line 422, in save StockPickler.save(self, obj, save_persistent_id) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/pickle.py", line 590, in save rv = reduce(self.proto) TypeError: cannot pickle '_contextvars.Context' object when serializing dict item '_context' when serializing threading.Thread state when serializing threading.Thread object F. ------ This is needed by rpmdevtools from @fedora-packager, raising severity. > This is needed by rpmdevtools from @fedora-packager, raising severity.
Also by rpkg and fedpkg.
|