[Reproducible-builds] Bug#820650: diffoscope: crash when comparing two recent xscreensaver versions

Paul Wise pabs at debian.org
Mon Apr 11 02:44:47 UTC 2016


Package: diffoscope
Version: 51
Severity: normal

I got a crash when I tried to diff the two xscreensaver packages from
testing/unstable. The issue appears to be related to the fact that
unstable xscreensaver provides -dbgsym packages but testing does not.

pabs at chianamo ~ $ aptitude download xscreensaver -t unstable
Get: 1 http://httpredir.debian.org/debian unstable/main amd64 xscreensaver amd64 5.34-2 [561 kB]
Fetched 561 kB in 5s (107 kB/s)      
pabs at chianamo ~ $ aptitude download xscreensaver
Get: 1 http://httpredir.debian.org/debian testing/main amd64 xscreensaver amd64 5.34-1 [562 kB]
Fetched 562 kB in 5s (96.1 kB/s)   
pabs at chianamo ~ $ diffoscope xscreensaver_5.34-1_amd64.deb xscreensaver_5.34-2_amd64.deb
readelf: Warning: Section '.gnu_debuglink' was not dumped because it does not exist!
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/diffoscope/__main__.py", line 177, in main
    sys.exit(run_diffoscope(parsed_args))
  File "/usr/lib/python3/dist-packages/diffoscope/__main__.py", line 148, in run_diffoscope
    parsed_args.file1, parsed_args.file2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 97, in compare_root_paths
    return compare_files(file1, file2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 113, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 199, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 174, in _compare_using_details
    details.extend(filter(None, self.as_container.compare(other.as_container)))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 116, in compare_commented_files
    difference = compare_files(file1, file2, source=source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 113, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 199, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 174, in _compare_using_details
    details.extend(filter(None, self.as_container.compare(other.as_container)))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 116, in compare_commented_files
    difference = compare_files(file1, file2, source=source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 113, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 199, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 174, in _compare_using_details
    details.extend(filter(None, self.as_container.compare(other.as_container)))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 116, in compare_commented_files
    difference = compare_files(file1, file2, source=source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 113, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 199, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 174, in _compare_using_details
    details.extend(filter(None, self.as_container.compare(other.as_container)))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 128, in as_container
    self._as_container = self.__class__.CONTAINER_CLASS(self)
  File "/usr/lib/python3/dist-packages/diffoscope/__init__.py", line 143, in tool_check
    return original_function(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/elf.py", line 362, in __init__
    self._install_debug_symbols()
  File "/usr/lib/python3/dist-packages/diffoscope/__init__.py", line 143, in tool_check
    return original_function(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/elf.py", line 383, in _install_debug_symbols
    deb.container.dbgsym_build_id_map = get_build_id_map(deb.container)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/deb.py", line 40, in get_build_id_map
    for member_name, member in container.get_members().items():
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils.py", line 170, in get_members
    return OrderedDict([(name, self.get_member(name)) for name in self.get_member_names()])
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/directory.py", line 173, in get_member_names
    return sorted(os.listdir(self.source.path))
FileNotFoundError: [Errno 2] No such file or directory: ''
pabs at chianamo ~ $ diffoscope --debug xscreensaver_5.34-1_amd64.deb xscreensaver_5.34-2_amd64.deb
...
   DEBUG adding section .bss (NOBITS) as <class 'diffoscope.comparators.elf.ElfSection'>
   DEBUG adding section .shstrtab (STRTAB) as <class 'diffoscope.comparators.elf.ElfSection'>
readelf: Warning: Section '.gnu_debuglink' was not dumped because it does not exist!
   DEBUG returning a <class 'diffoscope.comparators.elf.ElfContainer'> for <<class 'abc.ElfFile'> ./usr/bin/xscreensaver>
   DEBUG returning a <class 'diffoscope.comparators.elf.ElfContainer'> for <<class 'abc.ElfFile'> ./usr/bin/xscreensaver>
   DEBUG instanciating <class 'diffoscope.comparators.elf.ElfContainer'> for <<class 'abc.ElfFile'> ./usr/bin/xscreensaver>
...
   DEBUG adding section .data (PROGBITS) as <class 'diffoscope.comparators.elf.ElfSection'>
   DEBUG adding section .bss (NOBITS) as <class 'diffoscope.comparators.elf.ElfSection'>
   DEBUG adding section .gnu_debuglink (PROGBITS) as <class 'diffoscope.comparators.elf.ElfSection'>
   DEBUG adding section .shstrtab (STRTAB) as <class 'diffoscope.comparators.elf.ElfSection'>
   DEBUG Looking for a dbgsym package for Build Id 02bb8bb8409b99edfbf9081d76a95f49ed7bd8f0 (debuglink: bb8bb8409b99edfbf9081d76a95f49ed7bd8f0.debug)
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/diffoscope/__main__.py", line 177, in main
    sys.exit(run_diffoscope(parsed_args))
  File "/usr/lib/python3/dist-packages/diffoscope/__main__.py", line 148, in run_diffoscope
    parsed_args.file1, parsed_args.file2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 97, in compare_root_paths
...

-- System Information:
Debian Release: stretch/sid
  APT prefers testing-debug
  APT policy: (900, 'testing-debug'), (900, 'testing'), (860, 'testing-proposed-updates'), (850, 'buildd-testing-proposed-updates'), (800, 'unstable-debug'), (800, 'unstable'), (790, 'buildd-unstable'), (700, 'experimental-debug'), (700, 'experimental'), (690, 'buildd-experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.4.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages diffoscope depends on:
ii  python3-libarchive-c   2.1-3
ii  python3-magic          1:5.25-2
ii  python3-pkg-resources  18.8-1
pn  python3:any            <none>

Versions of packages diffoscope recommends:
ii  acl                     2.2.52-3
ii  binutils-multiarch      2.26-8
ii  bzip2                   1.0.6-8
ii  caca-utils              0.99.beta19-2+b1
ii  colord                  1.2.12-1
ii  cpio                    2.11+dfsg-5
pn  default-jdk | java-sdk  <none>
ii  enjarify                20151118-1
ii  fontforge-extras        0.3-4
pn  fp-utils                <none>
ii  genisoimage             9:1.1.11-3
ii  gettext                 0.19.7-2
ii  ghc                     7.10.3-7
ii  ghostscript             9.19~dfsg-1
ii  gnupg                   1.4.20-5
pn  mono-utils              <none>
ii  pdftk                   2.02-3
ii  poppler-utils           0.38.0-2
ii  python3-debian          0.1.27
pn  python3-guestfs         <none>
ii  python3-rpm             4.12.0.1+dfsg1-3+b2
ii  python3-tlsh            3.4.4+20151206-1+b1
ii  rpm2cpio                4.12.0.1+dfsg1-3+b2
ii  sng                     1.1.0-1
ii  sqlite3                 3.11.1-1
ii  squashfs-tools          1:4.3-3
ii  unzip                   6.0-20
ii  vim-common              2:7.4.963-1+b2
ii  xz-utils                5.1.1alpha+20120614-2.1

Versions of packages diffoscope suggests:
ii  libjs-jquery  1.11.3+dfsg-4

-- no debconf information

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20160411/9efcdbee/attachment.sig>


More information about the Reproducible-builds mailing list