Bug#1064973: diffoscope fails with struct.error: unpack requires a buffer of 4 bytes

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Wed Feb 28 15:55:47 GMT 2024


Package: diffoscope
Version: 257
Severity: normal

The package is really diffoscope-257-1.fc40.x86_64.

$ diffoscope cache/rpms/meson-1.3.2-1.fc41/meson-1.3.2-1.fc41.noarch.rpm cache/build/meson-1.3.2-1.fc41/rebuild/meson-1.3.2-1.fc41.noarch.rpm
...
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/diffoscope/main.py", line 766, in main
    sys.exit(run_diffoscope(parsed_args))
	     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/main.py", line 717, in run_diffoscope
    difference = compare_root_paths(path1, path2)
		 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/utils/compare.py", line 69, in compare_root_paths
    difference = compare_files(file1, file2)
		 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/utils/compare.py", line 149, in compare_files
    return file1.compare(file2, source)
	   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/utils/file.py", line 532, in compare
    difference = self._compare_using_details(other, source)
		 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/utils/file.py", line 467, in _compare_using_details
    details.extend(
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/utils/container.py", line 197, in compare_pair
    difference = compare_files(
		 ^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/utils/compare.py", line 149, in compare_files
    return file1.compare(file2, source)
	   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/utils/file.py", line 532, in compare
    difference = self._compare_using_details(other, source)
		 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/utils/file.py", line 467, in _compare_using_details
    details.extend(
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/utils/container.py", line 197, in compare_pair
    difference = compare_files(
		 ^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/utils/compare.py", line 149, in compare_files
    return file1.compare(file2, source)
	   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/utils/file.py", line 532, in compare
    difference = self._compare_using_details(other, source)
		 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/utils/file.py", line 433, in _compare_using_details
    details.extend(self.compare_details(other, source))
		   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/python.py", line 52, in compare_details
    describe_pyc(other.path),
    ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/python.py", line 65, in describe_pyc
    return "\n".join(parse_pyc(f))
	   ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/diffoscope/comparators/python.py", line 74, in parse_pyc
    modtime = time.asctime(time.gmtime(struct.unpack("<L", moddate)[0]))
				       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
struct.error: unpack requires a buffer of 4 bytes

The two arguments are available at:
https://fedorapeople.org/~zbyszek/meson-1.3.2-1.fc41.noarch.rpm
https://fedorapeople.org/~zbyszek/meson-1.3.2-1.fc41.noarch.rpm.2

Zbyszek



More information about the Reproducible-builds mailing list