Skip to content

Traceback: AttributeError: 'NoneType' object has no attribute 'items'

Comparing files:

https://shattered.io/static/shattered-1.pdf

https://shattered.io/static/shattered-2.pdf

or:

https://github.com/corkami/collisions/blob/master/examples/jpgpage1.pdf

https://github.com/corkami/collisions/blob/master/examples/jpgpage2.pdf

Result in Traceback:

D: diffoscope.comparators.utils.specialize: Using diffoscope.comparators.pdf.PdfFile for jpgpage1.pdf
D: diffoscope.comparators.utils.specialize: Using diffoscope.comparators.pdf.PdfFile for jpgpage2.pdf
D: diffoscope.comparators.utils.compare: Comparing jpgpage1.pdf (PdfFile) and jpgpage2.pdf (PdfFile)
D: diffoscope.comparators.utils.file: File.has_same_content: <<class 'abc.PdfFile'> jpgpage1.pdf> <<class 'abc.PdfFile'> jpgpage2.pdf>
Traceback (most recent call last):
  File "/srv/diffoscope/diffoscope/main.py", line 745, in main
    sys.exit(run_diffoscope(parsed_args))
  File "/srv/diffoscope/diffoscope/main.py", line 697, in run_diffoscope
    difference = compare_root_paths(path1, path2)
  File "/srv/diffoscope/diffoscope/comparators/utils/compare.py", line 74, in compare_root_paths
    difference = compare_files(file1, file2)
  File "/srv/diffoscope/diffoscope/comparators/utils/compare.py", line 130, in compare_files
    return file1.compare(file2, source)
  File "/srv/diffoscope/diffoscope/comparators/utils/file.py", line 452, in compare
    difference = self._compare_using_details(other, source)
  File "/srv/diffoscope/diffoscope/comparators/utils/file.py", line 372, in _compare_using_details
    details.extend(self.compare_details(other, source))
  File "/srv/diffoscope/diffoscope/comparators/pdf.py", line 61, in compare_details
    self.dump_pypdf2_metadata(self),
  File "/srv/diffoscope/diffoscope/comparators/pdf.py", line 88, in dump_pypdf2_metadata
    for k, v in sorted(document_info.items()):
AttributeError: 'NoneType' object has no attribute 'items'
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information