Bug#913315: diffoscope: crash with PyPDF2.utils.PdfReadError with some packages

Mattia Rizzolo mattia at debian.org
Fri Nov 9 14:07:01 GMT 2018


Package: diffoscope
Version: 104
Severity: important


Seen with several packages, for example gle-graphics/unstable/amd64
right now.

Thu Nov  8 21:45:12 UTC 2018  I: diffoscope 104 will be used to compare the two builds:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 470, in main
    sys.exit(run_diffoscope(parsed_args))
  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 442, in run_diffoscope
    difference = compare_root_paths(path1, path2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 68, in compare_root_paths
    difference = compare_files(file1, file2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 118, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/debian.py", line 184, in compare
    differences = super().compare(other, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 366, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 321, in _compare_using_details
    other.as_container, no_recurse=no_recurse))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 177, in compare_pair
    file1, file2, source=None, diff_content_only=no_recurse)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 118, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 366, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 321, in _compare_using_details
    other.as_container, no_recurse=no_recurse))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 177, in compare_pair
    file1, file2, source=None, diff_content_only=no_recurse)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 118, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 366, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 321, in _compare_using_details
    other.as_container, no_recurse=no_recurse))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 177, in compare_pair
    file1, file2, source=None, diff_content_only=no_recurse)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 118, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 366, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 321, in _compare_using_details
    other.as_container, no_recurse=no_recurse))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 177, in compare_pair
    file1, file2, source=None, diff_content_only=no_recurse)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 118, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 366, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 321, in _compare_using_details
    other.as_container, no_recurse=no_recurse))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 177, in compare_pair
    file1, file2, source=None, diff_content_only=no_recurse)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 118, in compare_files
    return file1.compare(file2, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 366, in compare
    difference = self._compare_using_details(other, source)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 304, in _compare_using_details
    details.extend(self.compare_details(other, source))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/pdf.py", line 49, in compare_details
    self.dump_pypdf2_metadata(self),
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/pdf.py", line 70, in dump_pypdf2_metadata
    for k, v in sorted(pdf.getDocumentInfo().items()):
  File "/usr/lib/python3/dist-packages/PyPDF2/pdf.py", line 1101, in getDocumentInfo
    obj = self.trailer['/Info']
  File "/usr/lib/python3/dist-packages/PyPDF2/generic.py", line 520, in __getitem__
    return dict.__getitem__(self, key).getObject()
  File "/usr/lib/python3/dist-packages/PyPDF2/generic.py", line 182, in getObject
    return self.pdf.getObject(self).getObject()
  File "/usr/lib/python3/dist-packages/PyPDF2/pdf.py", line 1611, in getObject
    retval = readObject(self.stream, self)
  File "/usr/lib/python3/dist-packages/PyPDF2/generic.py", line 66, in readObject
    return DictionaryObject.readFromStream(stream, pdf)
  File "/usr/lib/python3/dist-packages/PyPDF2/generic.py", line 589, in readFromStream
    % (utils.hexStr(stream.tell()), key))
PyPDF2.utils.PdfReadError: Multiple definitions in dictionary at byte 0x2c1900 for key /Author


-- 
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://alioth-lists.debian.net/pipermail/reproducible-builds/attachments/20181109/b62d6042/attachment.sig>


More information about the Reproducible-builds mailing list