Message369120
It's caused by the combination of the symlink existing, and having the tarfile opened in r| mode.
If I run the attached test file in a fresh directory, I get the following exception:
raceback (most recent call last):
File "/home/catlee/.pyenv/versions/3.8.2/lib/python3.8/tarfile.py", line 2227, in makelink
os.symlink(tarinfo.linkname, targetpath)
FileExistsError: [Errno 17] File exists: 'message.txt' -> './symlink.txt'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "../test.py", line 12, in <module>
tf.extractall()
File "/home/catlee/.pyenv/versions/3.8.2/lib/python3.8/tarfile.py", line 2024, in extractall
self.extract(tarinfo, path, set_attrs=not tarinfo.isdir(),
File "/home/catlee/.pyenv/versions/3.8.2/lib/python3.8/tarfile.py", line 2065, in extract
self._extract_member(tarinfo, os.path.join(path, tarinfo.name),
File "/home/catlee/.pyenv/versions/3.8.2/lib/python3.8/tarfile.py", line 2145, in _extract_member
self.makelink(tarinfo, targetpath)
File "/home/catlee/.pyenv/versions/3.8.2/lib/python3.8/tarfile.py", line 2237, in makelink
self._extract_member(self._find_link_target(tarinfo),
File "/home/catlee/.pyenv/versions/3.8.2/lib/python3.8/tarfile.py", line 2137, in _extract_member
self.makefile(tarinfo, targetpath)
File "/home/catlee/.pyenv/versions/3.8.2/lib/python3.8/tarfile.py", line 2176, in makefile
source.seek(tarinfo.offset_data)
File "/home/catlee/.pyenv/versions/3.8.2/lib/python3.8/tarfile.py", line 513, in seek
raise StreamError("seeking backwards is not allowed")
tarfile.StreamError: seeking backwards is not allowed |
|
Date |
User |
Action |
Args |
2020-05-17 13:38:02 | catlee | set | recipients:
+ catlee, lars.gustaebel, adunand, serhiy.storchaka, andrew.garner, mdk, Jeffrey.Kintscher |
2020-05-17 13:38:02 | catlee | set | messageid: <1589722682.4.0.72393727526.issue12800@roundup.psfhosted.org> |
2020-05-17 13:38:02 | catlee | link | issue12800 messages |
2020-05-17 13:38:02 | catlee | create | |
|