classification
Title: copy.deepcopy() no longer works on platform.uname_result objects
Type: behavior Stage: patch review
Components: Library (Lib) Versions: Python 3.10, Python 3.9
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: jaraco Nosy List: jaraco, rocallahan
Priority: normal Keywords: patch

Created on 2020-10-29 01:53 by rocallahan, last changed 2020-10-29 13:07 by jaraco.

Pull Requests
URL Status Linked Edit
PR 23010 open jaraco, 2020-10-29 13:07
Messages (2)
msg379853 - (view) Author: Robert O'Callahan (rocallahan) Date: 2020-10-29 01:53
Starting from Python 3.9, copy.deepcopy can't copy a platform.uname_result object.

```
Python 3.9.0 (default, Oct  6 2020, 00:00:00) 
[GCC 10.2.1 20200826 (Red Hat 10.2.1-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import platform
>>> import copy
>>> u = platform.uname()
>>> print(u)
uname_result(system='Linux', node='localhost.localdomain', release='5.8.16-300.fc33.x86_64', version='#1 SMP Mon Oct 19 13:18:33 UTC 2020', machine='x86_64')
>>> v = copy.deepcopy(u)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/usr/lib64/python3.9/copy.py", line 264, in _reconstruct
    y = func(*args)
  File "/usr/lib64/python3.9/copyreg.py", line 91, in __newobj__
    return cls.__new__(cls, *args)
TypeError: <lambda>() takes 6 positional arguments but 7 were given
```

Looks similar to issue 42163 but I guess it might need to be fixed differently.

This has broken building Intel's Xed library, which uses a Python-based build system: https://github.com/intelxed/mbuild
msg379870 - (view) Author: Jason R. Coombs (jaraco) * (Python committer) Date: 2020-10-29 12:57
Acknowledged. Thanks for the report. I'll likely address this issue alongside the other (same PR).
History
Date User Action Args
2020-10-29 13:07:18jaracosetkeywords: + patch
stage: patch review
pull_requests: + pull_request21945
2020-10-29 12:57:55jaracosetassignee: jaraco
messages: + msg379870
2020-10-29 09:55:09serhiy.storchakasetnosy: + jaraco
2020-10-29 01:53:35rocallahancreate