When I put 'authentication' into ~/.config/.packit.yaml and run 'packit status' I get a traceback.
Reproducible: Always
Steps to Reproduce:
$ podman run -ti --rm fedora:38 bash
[root@2a6f0c13fc8a /]# cd
[root@2a6f0c13fc8a ~]# dnf install packit
[root@2a6f0c13fc8a ~]# cat ~/.config/.packit.yaml
authentication:
github.com:
token: ghp_foobarbaz
[root@2a6f0c13fc8a ~]# git clone https://github.com/packit/ogr; cd ogr
[root@2a6f0c13fc8a ogr]# packit -d status
Actual Results:
Traceback (most recent call last):
File "/usr/lib/python3.11/site-packages/packit/cli/utils.py", line 50, in covered_func
func(config=config, *args, **kwargs)
File "/usr/lib/python3.11/site-packages/packit/cli/utils.py", line 145, in covered_func
decorated_func_kwargs["config"] = copy.deepcopy(
^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 265, in _reconstruct
y = func(*args)
^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 264, in <genexpr>
args = (deepcopy(arg, memo) for arg in args)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 206, in _deepcopy_list
append(deepcopy(a, memo))
^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.11/copy.py", line 161, in deepcopy
rv = reductor(4)
^^^^^^^^^^^
File "/usr/lib64/python3.11/multiprocessing/synchronize.py", line 101, in __getstate__
context.assert_spawning(self)
File "/usr/lib64/python3.11/multiprocessing/context.py", line 373, in assert_spawning
raise RuntimeError(
RuntimeError: RLock objects should only be shared between processes through inheritance
Expected Results:
no traceback
The same (packit) code has worked OK in Fedora 37.
To Python maintainers: Do you have any idea what's changed in Fedora 38 to possibly cause this? The Python versions (in F37 and F38) look the same to me.
When I put 'authentication' into ~/.config/.packit.yaml and run 'packit status' I get a traceback. Reproducible: Always Steps to Reproduce: $ podman run -ti --rm fedora:38 bash [root@2a6f0c13fc8a /]# cd [root@2a6f0c13fc8a ~]# dnf install packit [root@2a6f0c13fc8a ~]# cat ~/.config/.packit.yaml authentication: github.com: token: ghp_foobarbaz [root@2a6f0c13fc8a ~]# git clone https://github.com/packit/ogr; cd ogr [root@2a6f0c13fc8a ogr]# packit -d status Actual Results: Traceback (most recent call last): File "/usr/lib/python3.11/site-packages/packit/cli/utils.py", line 50, in covered_func func(config=config, *args, **kwargs) File "/usr/lib/python3.11/site-packages/packit/cli/utils.py", line 145, in covered_func decorated_func_kwargs["config"] = copy.deepcopy( ^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy y = _reconstruct(x, memo, *rv) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 271, in _reconstruct state = deepcopy(state, memo) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 146, in deepcopy y = copier(x, memo) ^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 231, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy y = _reconstruct(x, memo, *rv) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 265, in _reconstruct y = func(*args) ^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 264, in <genexpr> args = (deepcopy(arg, memo) for arg in args) ^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 146, in deepcopy y = copier(x, memo) ^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 206, in _deepcopy_list append(deepcopy(a, memo)) ^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy y = _reconstruct(x, memo, *rv) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 271, in _reconstruct state = deepcopy(state, memo) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 146, in deepcopy y = copier(x, memo) ^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 231, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy y = _reconstruct(x, memo, *rv) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 271, in _reconstruct state = deepcopy(state, memo) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 146, in deepcopy y = copier(x, memo) ^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 231, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy y = _reconstruct(x, memo, *rv) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 271, in _reconstruct state = deepcopy(state, memo) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 146, in deepcopy y = copier(x, memo) ^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 231, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy y = _reconstruct(x, memo, *rv) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 271, in _reconstruct state = deepcopy(state, memo) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 146, in deepcopy y = copier(x, memo) ^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 231, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/copy.py", line 161, in deepcopy rv = reductor(4) ^^^^^^^^^^^ File "/usr/lib64/python3.11/multiprocessing/synchronize.py", line 101, in __getstate__ context.assert_spawning(self) File "/usr/lib64/python3.11/multiprocessing/context.py", line 373, in assert_spawning raise RuntimeError( RuntimeError: RLock objects should only be shared between processes through inheritance Expected Results: no traceback