[New-bugs-announce] [issue38688] Python 3.8 regression: endless loop in shutil.copytree
Christian Boltz
report at bugs.python.org
Mon Nov 4 16:21:38 EST 2019
New submission from Christian Boltz <python-bugs at cboltz.de>:
The following test script works with Python 3.7 (and older), but triggers an endless loop with Python 3.8:
#!/usr/bin/python3
import shutil
import os
os.mkdir('/dev/shm/t')
os.mkdir('/dev/shm/t/pg')
with open('/dev/shm/t/pg/pol', 'w+') as f:
f.write('pol')
shutil.copytree('/dev/shm/t/pg', '/dev/shm/t/pg/somevendor/1.0')
The important point is probably that 'pg' gets copied into a subdirectory of itsself. While this worked in Python up to 3.7, doing the same in Python 3.8 runs into an endless loop:
# python3 /home/abuild/rpmbuild/SOURCES/test.py
Traceback (most recent call last):
File "/home/abuild/rpmbuild/SOURCES/test.py", line 15, in <module>
shutil.copytree('/dev/shm/t/pg', '/dev/shm/t/pg/somevendor/1.0')
File "/usr/lib/python3.8/shutil.py", line 547, in copytree
return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
File "/usr/lib/python3.8/shutil.py", line 486, in _copytree
copytree(srcobj, dstname, symlinks, ignore, copy_function,
...
copytree(srcobj, dstname, symlinks, ignore, copy_function,
File "/usr/lib/python3.8/shutil.py", line 547, in copytree
return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
File "/usr/lib/python3.8/shutil.py", line 449, in _copytree
os.makedirs(dst, exist_ok=dirs_exist_ok)
File "/usr/lib/python3.8/os.py", line 206, in makedirs
head, tail = path.split(name)
File "/usr/lib/python3.8/posixpath.py", line 104, in split
sep = _get_sep(p)
File "/usr/lib/python3.8/posixpath.py", line 42, in _get_sep
if isinstance(path, bytes):
RecursionError: maximum recursion depth exceeded while calling a Python object
I also reported this at https://bugzilla.opensuse.org/show_bug.cgi?id=1155839
----------
components: Library (Lib)
messages: 355981
nosy: cboltz
priority: normal
severity: normal
status: open
title: Python 3.8 regression: endless loop in shutil.copytree
type: crash
versions: Python 3.8
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue38688>
_______________________________________
More information about the New-bugs-announce
mailing list