Bug#875282: diffoscope: AttributeError: 'NoneType' object has no attribute 'get_member'

Mattia Rizzolo mattia at debian.org
Sun Sep 10 09:13:43 UTC 2017


Package: diffoscope
Version: 86
Severity: important

Seen with kguiaddons/unstable/i386 in our test infra:

Sun Sep 10 03:56:08 UTC 2017  I: diffoscope 86 will be used to compare the two builds:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 401, in main
    sys.exit(run_diffoscope(parsed_args))
  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 374, in run_diffoscope
    difference = compare_root_paths(path1, path2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 64, in compare_root_paths
    return compare_files(file1, file2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 95, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/debian.py", line 182, in compare
    differences = super().compare(other, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 300, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 255, in _compare_using_details
    details.extend(self.as_container.compare(other.as_container, no_recurse=no_recurse))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 164, in compare_pair
    difference = compare_files(file1, file2, source=None, diff_content_only=no_recurse)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 95, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 300, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 255, in _compare_using_details
    details.extend(self.as_container.compare(other.as_container, no_recurse=no_recurse))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 164, in compare_pair
    difference = compare_files(file1, file2, source=None, diff_content_only=no_recurse)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 95, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 300, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 255, in _compare_using_details
    details.extend(self.as_container.compare(other.as_container, no_recurse=no_recurse))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 164, in compare_pair
    difference = compare_files(file1, file2, source=None, diff_content_only=no_recurse)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 95, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 300, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 255, in _compare_using_details
    details.extend(self.as_container.compare(other.as_container, no_recurse=no_recurse))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 164, in compare_pair
    difference = compare_files(file1, file2, source=None, diff_content_only=no_recurse)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 95, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 300, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 247, in _compare_using_details
    if self.as_container:
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 157, in as_container
    self._as_container = self.__class__.CONTAINER_CLASS(self)
  File "/usr/lib/python3/dist-packages/diffoscope/tools.py", line 87, in tool_check
    return fn(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/elf.py", line 436, in __init__
    self._install_debug_symbols()
  File "/usr/lib/python3/dist-packages/diffoscope/tools.py", line 87, in tool_check
    return fn(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/elf.py", line 465, 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 49, in get_build_id_map
    if isinstance(member, DebFile) and member.control:
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/deb.py", line 102, in control
    control_file = self.as_container.control_tar.as_container.lookup_file('./control')
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/deb.py", line 78, in control_tar
    return specialize(member.as_container.get_member('content'))
AttributeError: 'NoneType' object has no attribute 'get_member'


-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20170910/d92922a0/attachment.sig>


More information about the Reproducible-builds mailing list