while c < size:
# Skip underlying buffer to avoid unaligned double buffering.
if self.buf:
buf = self.buf
self.buf = b""
else:
buf = self.fileobj.read(self.bufsize)
if not buf:
break
try:
buf = self.cmp.decompress(buf)
except self.exception as e:
raise ReadError("invalid compressed data") from e
t.append(buf)
c += len(buf)
buf = self.cmp.decompress(buf)
zlib.error: Error -3 while decompressing data: invalid distance too far back
_read, tarfile.py:548
read, tarfile.py:526
_init_read_gz, tarfile.py:491
__init__, tarfile.py:375
open, tarfile.py:1827
<module>, test.py:2
This appears to happen with tgz files created by the helm charts tool but I'm having a hard time reproducing without having any NDA data or metadata.
Bug report
If a tar file is streamed from network and read into tarfiles as:
with tarfile.open(mode='r|*', fileobj=stream) as tfilehowever, if mode is
r:*. I.e.with tarfile.open(mode='r:*', fileobj=stream) as tfilethis problem disappears.
reading fails within:
at:
with exception:
Stack trace:
This appears to happen with tgz files created by the helm charts tool but I'm having a hard time reproducing without having any NDA data or metadata.
Your environment
Linked PRs