Linaro / squadplugins

GNU Affero General Public License v3.0
1 stars 6 forks source link

tradefed: handle EOFError when downloading is interrupted #15

Closed mwasilew closed 4 years ago

mwasilew commented 4 years ago

Signed-off-by: Milosz Wasilewski milosz.wasilewski@linaro.org

chaws commented 4 years ago

Just for future references. This is a fix for:

Plugin postprocessing error: Compressed file ended before the end-of-stream marker was reached
Traceback (most recent call last):
  File "/srv/qa-reports.linaro.org/lib/python3.5/site-packages/squad/ci/models.py", line 131, in __postprocess_testjob__
    plugin.postprocess_testjob(test_job)
  File "/srv/qa-reports.linaro.org/lib/python3.5/site-packages/tradefed/__init__.py", line 211, in postprocess_testjob
    results = self._get_from_artifactorial(testjob, test_definition['name'])
  File "/srv/qa-reports.linaro.org/lib/python3.5/site-packages/tradefed/__init__.py", line 167, in _get_from_artifactorial
    return self._download_results(result)
  File "/srv/qa-reports.linaro.org/lib/python3.5/site-packages/tradefed/__init__.py", line 112, in _download_results
    for member in t.getmembers():
  File "/srv/qa-reports.linaro.org/lib/python3.5/tarfile.py", line 1747, in getmembers
    self._load()        # all members, we first have to
  File "/srv/qa-reports.linaro.org/lib/python3.5/tarfile.py", line 2340, in _load
    tarinfo = self.next()
  File "/srv/qa-reports.linaro.org/lib/python3.5/tarfile.py", line 2271, in next
    self.fileobj.seek(self.offset - 1)
  File "/usr/lib/python3.5/lzma.py", line 251, in seek
    return self._buffer.seek(offset, whence)
  File "/usr/lib/python3.5/_compression.py", line 143, in seek
    data = self.read(min(io.DEFAULT_BUFFER_SIZE, offset))
  File "/usr/lib/python3.5/_compression.py", line 99, in read
    raise EOFError("Compressed file ended before the "
EOFError: Compressed file ended before the end-of-stream marker was reached