[Qa-jenkins-scm] Build failed in Jenkins: reproducible_diffoscope_from_git_master #266
jenkins at jenkins.debian.net
jenkins at jenkins.debian.net
Mon Feb 13 13:46:01 UTC 2017
https://jenkins.debian.net/job/reproducible_diffoscope_from_git_master/266/Changes:
[infinity0] When extracting archives, try to keep directory sizes small
------------------------------------------
[...truncated 494.40 KB...]
fuzzy_tar1 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy1.tar>
fuzzy_tar2 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy2.tar>
tests/comparators/test_utils.py:62:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
diffoscope/comparators/utils/file.py:237: in compare
difference = self._compare_using_details(other, source)
diffoscope/comparators/utils/file.py:194: in _compare_using_details
details.extend(filter(None, self.as_container.compare(other.as_container)))
diffoscope/comparators/utils/container.py:115: in comparisons
for my_name, other_name, score in perform_fuzzy_matching(my_members, other_members):
diffoscope/comparators/utils/fuzzy.py:41: in perform_fuzzy_matching
if file1.is_directory() or not file1.fuzzy_hash:
diffoscope/comparators/utils/file.py:151: in fuzzy_hash
if os.stat(self.path).st_size >= 512:
diffoscope/comparators/utils/archive.py:88: in path
self._path = self.container.extract(self._name, self._temp_dir.name)
diffoscope/comparators/utils/libarchive.py:176: in extract
self.ensure_unpacked()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <diffoscope.comparators.tar.TarContainer object at 0x7fbc713fbda0>
def ensure_unpacked(self):
if hasattr(self, '_members'):
return
tmpdir = get_temporary_directory().name
self._members = collections.OrderedDict()
logger.debug("Extracting %s to %s", self.source.path, tmpdir)
with libarchive.file_reader(self.source.path) as archive:
for idx, entry in enumerate(archive):
# Always skip directories
if entry.isdir:
continue
# Save extracting excluded files
if any_excluded(entry.pathname):
continue
# Maintain a mapping of archive path to the extracted path,
# avoiding the need to sanitise filenames.
not_first = idx % 4096
# keep directory sizes small. could be improved but should be
# good enough for "ordinary" large archives.
basename = os.path.join(str(idx // 4096), str(not_first))
dst = os.path.join(tmpdir, basename)
self._members[entry.pathname] = dst
logger.debug("Extracting %s to %s", entry.pathname, dst)
if not not_first:
os.makedirs(os.path.dirname(dst), exist_ok=True)
> with open(dst, 'wb') as f:
E FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpy4b3c6w0_diffoscope/0/1'
archive = <libarchive.read.ArchiveRead object at 0x7fbc71fb6278>
basename = '0/1'
dst = '/tmp/tmpy4b3c6w0_diffoscope/0/1'
entry = <libarchive.entry.ArchiveEntry object at 0x7fbc71e829e8>
idx = 1
not_first = 1
self = <diffoscope.comparators.tar.TarContainer object at 0x7fbc713fbda0>
tmpdir = '/tmp/tmpy4b3c6w0_diffoscope'
diffoscope/comparators/utils/libarchive.py:233: FileNotFoundError
________________________ test_fuzzy_matching_only_once _________________________
fuzzy_tar1 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy1.tar>
fuzzy_tar3 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy3.tar>
@skip_unless_module_exists('tlsh')
def test_fuzzy_matching_only_once(fuzzy_tar1, fuzzy_tar3):
> differences = fuzzy_tar1.compare(fuzzy_tar3).details
fuzzy_tar1 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy1.tar>
fuzzy_tar3 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy3.tar>
tests/comparators/test_utils.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
diffoscope/comparators/utils/file.py:237: in compare
difference = self._compare_using_details(other, source)
diffoscope/comparators/utils/file.py:194: in _compare_using_details
details.extend(filter(None, self.as_container.compare(other.as_container)))
diffoscope/comparators/utils/container.py:115: in comparisons
for my_name, other_name, score in perform_fuzzy_matching(my_members, other_members):
diffoscope/comparators/utils/fuzzy.py:41: in perform_fuzzy_matching
if file1.is_directory() or not file1.fuzzy_hash:
diffoscope/comparators/utils/file.py:151: in fuzzy_hash
if os.stat(self.path).st_size >= 512:
diffoscope/comparators/utils/archive.py:88: in path
self._path = self.container.extract(self._name, self._temp_dir.name)
diffoscope/comparators/utils/libarchive.py:176: in extract
self.ensure_unpacked()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <diffoscope.comparators.tar.TarContainer object at 0x7fbc71364be0>
def ensure_unpacked(self):
if hasattr(self, '_members'):
return
tmpdir = get_temporary_directory().name
self._members = collections.OrderedDict()
logger.debug("Extracting %s to %s", self.source.path, tmpdir)
with libarchive.file_reader(self.source.path) as archive:
for idx, entry in enumerate(archive):
# Always skip directories
if entry.isdir:
continue
# Save extracting excluded files
if any_excluded(entry.pathname):
continue
# Maintain a mapping of archive path to the extracted path,
# avoiding the need to sanitise filenames.
not_first = idx % 4096
# keep directory sizes small. could be improved but should be
# good enough for "ordinary" large archives.
basename = os.path.join(str(idx // 4096), str(not_first))
dst = os.path.join(tmpdir, basename)
self._members[entry.pathname] = dst
logger.debug("Extracting %s to %s", entry.pathname, dst)
if not not_first:
os.makedirs(os.path.dirname(dst), exist_ok=True)
> with open(dst, 'wb') as f:
E FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpu3putm02_diffoscope/0/1'
archive = <libarchive.read.ArchiveRead object at 0x7fbc71364e10>
basename = '0/1'
dst = '/tmp/tmpu3putm02_diffoscope/0/1'
entry = <libarchive.entry.ArchiveEntry object at 0x7fbc71364198>
idx = 1
not_first = 1
self = <diffoscope.comparators.tar.TarContainer object at 0x7fbc71364be0>
tmpdir = '/tmp/tmpu3putm02_diffoscope'
diffoscope/comparators/utils/libarchive.py:233: FileNotFoundError
_______________________ test_no_fuzzy_matching_new_file ________________________
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fbc7143d940>
fuzzy_tar_in_tar1 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy-tar-in-tar1.tar>
fuzzy_tar_in_tar2 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy-tar-in-tar2.tar>
@skip_unless_module_exists('tlsh')
def test_no_fuzzy_matching_new_file(monkeypatch, fuzzy_tar_in_tar1, fuzzy_tar_in_tar2):
monkeypatch.setattr(Config(), 'fuzzy_threshold', 0)
monkeypatch.setattr(Config(), 'new_file', True)
> difference = fuzzy_tar_in_tar1.compare(fuzzy_tar_in_tar2)
fuzzy_tar_in_tar1 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy-tar-in-tar1.tar>
fuzzy_tar_in_tar2 = <<class 'abc.TarFile'> /tmp/testrun/.pybuild/pythonX.Y_3.5/build/tests/comparators/../data/fuzzy-tar-in-tar2.tar>
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fbc7143d940>
tests/comparators/test_utils.py:88:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
diffoscope/comparators/utils/file.py:237: in compare
difference = self._compare_using_details(other, source)
diffoscope/comparators/utils/file.py:194: in _compare_using_details
details.extend(filter(None, self.as_container.compare(other.as_container)))
diffoscope/comparators/utils/compare.py:94: in compare_commented_files
difference = compare_files(file1, file2, source=source)
diffoscope/comparators/utils/compare.py:79: in compare_files
if file1.has_same_content_as(file2):
diffoscope/comparators/utils/file.py:203: in has_same_content_as
if os.path.isdir(self.path) or os.path.isdir(other.path):
diffoscope/comparators/utils/archive.py:88: in path
self._path = self.container.extract(self._name, self._temp_dir.name)
diffoscope/comparators/utils/libarchive.py:176: in extract
self.ensure_unpacked()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <diffoscope.comparators.tar.TarContainer object at 0x7fbc71438518>
def ensure_unpacked(self):
if hasattr(self, '_members'):
return
tmpdir = get_temporary_directory().name
self._members = collections.OrderedDict()
logger.debug("Extracting %s to %s", self.source.path, tmpdir)
with libarchive.file_reader(self.source.path) as archive:
for idx, entry in enumerate(archive):
# Always skip directories
if entry.isdir:
continue
# Save extracting excluded files
if any_excluded(entry.pathname):
continue
# Maintain a mapping of archive path to the extracted path,
# avoiding the need to sanitise filenames.
not_first = idx % 4096
# keep directory sizes small. could be improved but should be
# good enough for "ordinary" large archives.
basename = os.path.join(str(idx // 4096), str(not_first))
dst = os.path.join(tmpdir, basename)
self._members[entry.pathname] = dst
logger.debug("Extracting %s to %s", entry.pathname, dst)
if not not_first:
os.makedirs(os.path.dirname(dst), exist_ok=True)
> with open(dst, 'wb') as f:
E FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpkuqke96z_diffoscope/0/1'
archive = <libarchive.read.ArchiveRead object at 0x7fbc7144dd68>
basename = '0/1'
dst = '/tmp/tmpkuqke96z_diffoscope/0/1'
entry = <libarchive.entry.ArchiveEntry object at 0x7fbc71447438>
idx = 1
not_first = 1
self = <diffoscope.comparators.tar.TarContainer object at 0x7fbc71438518>
tmpdir = '/tmp/tmpkuqke96z_diffoscope'
diffoscope/comparators/utils/libarchive.py:233: FileNotFoundError
======== 33 failed, 228 passed, 15 skipped, 17 error in 321.49 seconds =========
E: pybuild pybuild:283: test: plugin distutils failed with: exit code=1: cd /tmp/testrun/.pybuild/pythonX.Y_3.5/build; python3.5 -m pytest -vv -r sxX -l --cov=diffoscope --cov-report=term-missing --cov-report=html
dh_auto_test: pybuild --test --test-pytest -i python{version} -p 3.5 returned exit code 13
debian/rules:29: recipe for target 'build' failed
make: *** [build] Error 25
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1116:
dpkg-buildpackage -rfakeroot -us -uc failed
+ cleanup
+ '[' -e /chroots/chroot-run-sid.7qaPxzxV4/tmp/testrun/stats.csv ']'
++ ls -1 '/chroots/chroot-run-sid.7qaPxzxV4/tmp/debian-edu-doc_*.changes'
++ true
+ CHANGES=
+ '[' '!' -z '' ']'
+ '[' false = true ']'
+ '[' -d /chroots/chroot-run-sid.7qaPxzxV4/proc ']'
+ sudo umount -l /chroots/chroot-run-sid.7qaPxzxV4/proc
+ '[' -d /chroots/chroot-run-sid.7qaPxzxV4/testrun ']'
+ '[' -d /chroots/chroot-run-sid.7qaPxzxV4 ']'
+ sudo rm -rf --one-file-system /chroots/chroot-run-sid.7qaPxzxV4
Mon 13 Feb 13:46:00 UTC 2017 - /srv/jenkins/bin/chroot-run.sh stopped running as /tmp/jenkins-script-k92ZBjYj, which will now be removed.
Build step 'Execute shell' marked build as failure
More information about the Qa-jenkins-scm
mailing list