This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author sgnn7
Recipients sgnn7
Date 2015-03-12.16:40:01
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1426178401.83.0.913984210908.issue23649@psf.upfronthosting.co.za>
In-reply-to
Content
When running tarfile.extract through multiple threads, the archive reading pointer is not protected from simultaneous seeks and causes various convoluted bugs:

  <some code>
    self.archive_object.extract(member, extraction_path)
  File "/usr/lib/python3.4/tarfile.py", line 2019, in extract
    set_attrs=set_attrs)
  File "/usr/lib/python3.4/tarfile.py", line 2088, in _extract_member
    self.makefile(tarinfo, targetpath)
  File "/usr/lib/python3.4/tarfile.py", line 2127, in makefile
    source.seek(tarinfo.offset_data)
  File "/usr/lib/python3.4/gzip.py", line 573, in seek
    self.read(1024)
  File "/usr/lib/python3.4/gzip.py", line 365, in read
    if not self._read(readsize):
  File "/usr/lib/python3.4/gzip.py", line 449, in _read
    self._read_eof()
  File "/usr/lib/python3.4/gzip.py", line 485, in _read_eof
    hex(self.crc)))
OSError: CRC check failed 0x1036a2e1 != 0x0
History
Date User Action Args
2015-03-12 16:40:01sgnn7setrecipients: + sgnn7
2015-03-12 16:40:01sgnn7setmessageid: <1426178401.83.0.913984210908.issue23649@psf.upfronthosting.co.za>
2015-03-12 16:40:01sgnn7linkissue23649 messages
2015-03-12 16:40:01sgnn7create