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@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@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@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@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
signature.asc
Description: This is a digitally signed message part