[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