<html dir="ltr"><head></head><body style="text-align:left; direction:ltr;"><div>Hi,</div><div><br></div><div>While this needs a bit more investigation on my end, I thought I would share this issue with this list since there may be folks who've seen it before.</div><div><br></div><div>When I run this command;</div><div><br></div><div>/usr/bin/diffoscope --max-report-size=0 --html /var/www/html/pureos-9.0-images.html /srv/artifacts/1111/pureos-9.0-oem_20190925-amd64.hybrid.iso  /srv/artifacts/0000/pureos-9.0-oem_20190925-amd64.hybrid.iso</div><div></div><div><br></div><div>I get this output;</div><div><br></div><div>Traceback (most recent call last):</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 432, in compare</div><div>    difference = self._compare_using_details(other, source)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 380, in _compare_using_details</div><div>    other.as_container, no_recurse=no_recurse</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 131, in comparisons</div><div>    my_members = OrderedDict(self.get_adjusted_members_sizes())</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 123, in get_adjusted_members_sizes</div><div>    for name, member in self.get_adjusted_members():</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 79, in get_filtered_members</div><div>    for name in filter_excludes(self.get_member_names()):</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/squashfs.py", line 250, in get_member_names</div><div>    self.ensure_unpacked()</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/squashfs.py", line 274, in ensure_unpacked</div><div>    cwd=self._temp_dir,</div><div>  File "/usr/lib/python3.7/subprocess.py", line 395, in check_output</div><div>    **kwargs).stdout</div><div>  File "/usr/lib/python3.7/subprocess.py", line 487, in run</div><div>    output=stdout, stderr=stderr)</div><div>subprocess.CalledProcessError: Command '('unsquashfs', '-n', '-f', '-no', '-li', '-d', '.', '/tmp/diffoscope_p22_7rig/tmpaqdov1d4/0/18.squashfs')' returned non-zero exit status 1.</div><div><br></div><div>During handling of the above exception, another exception occurred:</div><div><br></div><div>Traceback (most recent call last):</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 732, in main</div><div>    sys.exit(run_diffoscope(parsed_args))</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 685, in run_diffoscope</div><div>    difference = compare_root_paths(path1, path2)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 72, in compare_root_paths</div><div>    difference = compare_files(file1, file2)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 124, in compare_files</div><div>    return file1.compare(file2, source)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 432, in compare</div><div>    difference = self._compare_using_details(other, source)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 380, in _compare_using_details</div><div>    other.as_container, no_recurse=no_recurse</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/container.py", line 195, in compare_pair</div><div>    file1, file2, source=None, diff_content_only=no_recurse</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 124, in compare_files</div><div>    return file1.compare(file2, source)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 453, in compare</div><div>    difference = self.compare_bytes(other, source=source)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 331, in compare_bytes</div><div>    return compare_binary_files(self, other, source)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 146, in compare_binary_files</div><div>    has_internal_linenos=True,</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 255, in from_command</div><div>    klass, path1, path2, *args, **kwargs</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 287, in from_command_exc</div><div>    feeder1, feeder2, path1, path2, *args, **kwargs</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 212, in from_feeder</div><div>    unified_diff = diff(feeder1, feeder2)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/diff.py", line 333, in diff</div><div>    return run_diff(fifo1_path, fifo2_path, fifo1.end_nl_q, fifo2.end_nl_q)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/diff.py", line 218, in __exit__</div><div>    self.join()</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/diff.py", line 251, in join</div><div>    raise self._exception</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/diff.py", line 242, in run</div><div>    end_nl = self.feeder(fifo)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/feeders.py", line 91, in feeder</div><div>    feeder = from_raw_reader(command.stdout, command.filter)</div><div>  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/command.py", line 112, in stdout</div><div>    return self._process.stdout.splitlines(True)</div><div>MemoryError</div><div><br></div><div>Running with the debug flat produces;</div><div><br></div><div>2019-09-25 12:47:16 D: diffoscope.presenters.formats: Will generate the following formats: html</div><div>2019-09-25 12:47:16 D: diffoscope.main: Starting diffoscope 125</div><div>2019-09-25 12:47:16 D: diffoscope.locale: Normalising locale, timezone, etc.</div><div>2019-09-25 16:47:16 D: diffoscope.main: Starting comparison</div><div>2019-09-25 16:47:16 D: diffoscope.comparators: Loaded 72 comparator classes</div><div>2019-09-25 16:47:16 D: diffoscope.comparators.utils.specialize: Using diffoscope.comparators.iso9660.Iso9660File for /srv/artifacts/1111/pureos-9.0-oem_20190925-amd64.hybrid.iso</div><div>2019-09-25 16:47:16 D: diffoscope.comparators.utils.specialize: Using diffoscope.comparators.iso9660.Iso9660File for /srv/artifacts/0000/pureos-9.0-oem_20190925-amd64.hybrid.iso</div><div><br></div><div><snip></div><div><br></div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.compare: has_same_content_as returned True; skipping further comparisons</div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.compare: Comparing casper/filesystem.size (LibarchiveMember) and casper/filesystem.size (LibarchiveMember)</div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.file: File.has_same_content: <<class 'diffoscope.comparators.utils.libarchive.LibarchiveMember'> casper/filesystem.size> <<class 'diffoscope.comparators.utils.libarchive.LibarchiveMember'> casper/filesystem.size></div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.specialize: Using diffoscope.comparators.text.TextFile for casper/filesystem.size</div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.specialize: Using diffoscope.comparators.text.TextFile for casper/filesystem.size</div><div>2019-09-25 16:47:18 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_c45v90xv/tmpnlp_7oz5/fifo1 /tmp/diffoscope_c45v90xv/tmpnlp_7oz5/fifo2</div><div>2019-09-25 16:47:18 D: diffoscope.diff: diff -aU7 /tmp/diffoscope_c45v90xv/tmpnlp_7oz5/fifo1 /tmp/diffoscope_c45v90xv/tmpnlp_7oz5/fifo2: returncode 1, parsed True</div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.compare: Comparing casper/filesystem.squashfs (LibarchiveMember) and casper/filesystem.squashfs (LibarchiveMember)</div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.file: File.has_same_content: <<class 'diffoscope.comparators.utils.libarchive.LibarchiveMember'> casper/filesystem.squashfs> <<class 'diffoscope.comparators.utils.libarchive.LibarchiveMember'> casper/filesystem.squashfs></div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.specialize: Using diffoscope.comparators.squashfs.SquashfsFile for casper/filesystem.squashfs</div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.specialize: Using diffoscope.comparators.squashfs.SquashfsFile for casper/filesystem.squashfs</div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.command: Executing unsquashfs -s /tmp/diffoscope_c45v90xv/tmp5h26j1jy/0/18.squashfs</div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.command: Executing unsquashfs -s /tmp/diffoscope_c45v90xv/tmplswrk2b9/0/18.squashfs</div><div>2019-09-25 16:47:18 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_c45v90xv/tmpkvpi9ewa/fifo1 /tmp/diffoscope_c45v90xv/tmpkvpi9ewa/fifo2</div><div>2019-09-25 16:47:18 D: diffoscope.diff: diff -aU7 /tmp/diffoscope_c45v90xv/tmpkvpi9ewa/fifo1 /tmp/diffoscope_c45v90xv/tmpkvpi9ewa/fifo2: returncode 1, parsed True</div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.command: Executing unsquashfs -d '' -lls /tmp/diffoscope_c45v90xv/tmp5h26j1jy/0/18.squashfs</div><div>2019-09-25 16:47:18 D: diffoscope.comparators.utils.command: Executing unsquashfs -d '' -lls /tmp/diffoscope_c45v90xv/tmplswrk2b9/0/18.squashfs</div><div>2019-09-25 16:47:19 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_c45v90xv/tmpu0wye3cv/fifo1 /tmp/diffoscope_c45v90xv/tmpu0wye3cv/fifo2</div><div>2019-09-25 16:47:19 D: diffoscope.diff: diff -aU7 /tmp/diffoscope_c45v90xv/tmpu0wye3cv/fifo1 /tmp/diffoscope_c45v90xv/tmpu0wye3cv/fifo2: returncode 1, parsed True</div><div>2019-09-25 16:47:19 D: diffoscope.comparators.utils.file: Instantiating a diffoscope.comparators.squashfs.SquashfsContainer for casper/filesystem.squashfs</div><div>2019-09-25 16:47:19 D: diffoscope.comparators.utils.file: Returning a diffoscope.comparators.squashfs.SquashfsContainer for casper/filesystem.squashfs</div><div>2019-09-25 16:47:19 D: diffoscope.comparators.utils.file: Returning a diffoscope.comparators.squashfs.SquashfsContainer for casper/filesystem.squashfs</div><div>2019-09-25 16:47:19 D: diffoscope.comparators.utils.file: Returning a diffoscope.comparators.squashfs.SquashfsContainer for casper/filesystem.squashfs</div><div>2019-09-25 16:47:19 D: diffoscope.comparators.utils.file: Instantiating a diffoscope.comparators.squashfs.SquashfsContainer for casper/filesystem.squashfs</div><div>2019-09-25 16:47:19 D: diffoscope.comparators.utils.file: Returning a diffoscope.comparators.squashfs.SquashfsContainer for casper/filesystem.squashfs</div><div>2019-09-25 16:47:19 D: diffoscope.comparators.squashfs: Extracting /tmp/diffoscope_c45v90xv/tmp5h26j1jy/0/18.squashfs to /tmp/diffoscope_c45v90xv/tmpjaqzp36l</div><div>2019-09-25 16:47:31 D: diffoscope.comparators.utils.command: Executing xxd /tmp/diffoscope_c45v90xv/tmp5h26j1jy/0/18.squashfs</div><div>2019-09-25 16:47:57 D: diffoscope.comparators.utils.command: Executing xxd /tmp/diffoscope_c45v90xv/tmplswrk2b9/0/18.squashfs</div><div>2019-09-25 16:48:24 D: diffoscope.diff: Running diff -aU7 /tmp/diffoscope_c45v90xv/tmpfcnkfldo/fifo1 /tmp/diffoscope_c45v90xv/tmpfcnkfldo/fifo2</div><div>Killed</div><div></div><div><br></div><div>Running the diff command against the files in tmp, which are two named pipes (fifo1, fifo2) just hangs.</div><div><br></div><div>I think I'm running out of memory? The machine has about 4 gigs.</div><div><br></div><div>Regards,</div><div><br></div><div>Jeremiah</div><div></div></body></html>