Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • diffoscope diffoscope
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 145
    • Issues 145
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 12
    • Merge requests 12
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Reproducible BuildsReproducible Builds
  • diffoscopediffoscope
  • Issues
  • #254
Closed
Open
Issue created May 03, 2021 by Chris Lamb@lambyOwner

Crash when comparing two ZIP files [with embedded .buildinfo files]

This bug was originally reported by Hans-Christoph Steiner (hans@eds.org) in Debian bug #987994:

Package: diffoscope
Version: 168~bpo10+1
Severity: important

I downloaded the job artifact files from two related GitLab CI jobs and compared them:

https://gitlab.com/guardianproject/tor-android/-/jobs/1231242475/artifacts/download

https://gitlab.com/eighthave/tor-android/-/jobs/1227385382/artifacts/download

diffoscope --html jobzip.html \
    tor-android_release_0.4.5.7_044c580d3aeed61b315cd1c22520bbba3137acfb.zip \
    tor-android_release_0.4.5.7_044c580d3aeed61b315cd1c22520bbba3137acfb\(1\).zip


Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 771, in main
    sys.exit(run_diffoscope(parsed_args))
  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 725, in run_diffoscope
    difference = compare_root_paths(path1, path2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 69, in compare_root_paths
    difference = compare_files(file1, file2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 125, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 499, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 436, in _compare_using_details
    other.as_container, no_recurse=no_recurse
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 192, in compare_pair
    file1, file2, source=None, diff_content_only=no_recurse
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 125, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 499, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 406, in _compare_using_details
    details.extend(self.compare_details(other, source))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/debian.py", line 195, in compare_details
    self._deb822.get_as_string("Checksums-Sha256"),
  File "/usr/lib/python3/dist-packages/debian/deb822.py", line 1657, in get_as_string
    if hasattr(self[key], 'keys'):   # single-line
  File "/usr/lib/python3/dist-packages/debian/deb822.py", line 500, in __getitem__
    value = self.__dict[keyi]
KeyError: 'Checksums-Sha256'
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking