Skip to content

Warning message without information: WARNING: One or more files failed to extract: either no utility was found or it's unimplemented

The warning message WARNING: One or more files failed to extract: either no utility was found or it's unimplemented is unfortunately not specifying which file could not be extracted.

The warning comes from binwalk: https://sources.debian.org/src/binwalk/2.4.3+dfsg1-1/src/binwalk/modules/extractor.py/?hl=336#L336

I'm wondering why a binwalk is started at all, since the sha256sum is identical.

So there are two issues in this single ticket:

  • Can the warning message be extended to show the offending file(s)?
  • Why is binwalk started for a file with a matching sha256sum?

To reproduce (also reproduces with other initrd.img files from Debian):

roland@silent:/media/fast/jenkins$ time diffoscope /boot/initrd.img-6.12.5-amd64 /boot/initrd.img-6.12.5-amd64 --debug
2024-12-21 16:34:01 D: diffoscope.main: Starting diffoscope 284
2024-12-21 16:34:01 D: diffoscope.presenters.formats: Will generate the following presenter formats: html
2024-12-21 16:34:01 D: diffoscope.environ: Normalising locale, timezone, etc. PATH is /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin:/usr/local/sbin:/usr/lib/x86_64-linux-gnu
2024-12-21 15:34:01 D: diffoscope.main: Starting comparison
2024-12-21 15:34:01 D: diffoscope.comparators.decompile: radare2 not found, disabling decompiler
2024-12-21 15:34:01 D: diffoscope.comparators: Loaded 93 comparator classes
2024-12-21 15:34:01 D: diffoscope.tempfiles: Created top-level temporary directory: /tmp/diffoscope_24y_gl8r_ (free space: 44.53 GiB)
2024-12-21 15:34:01 D: diffoscope.comparators.binwalk: Extracting y1/boot/initrd.img-6.12.5-amd64 to /tmp/diffoscope_24y_gl8r_/binwalkc3q5k6_v

WARNING: One or more files failed to extract: either no utility was found or it's unimplemented
2024-12-21 15:34:40 D: diffoscope.comparators.binwalk: Found 84 embedded member(s)
2024-12-21 15:34:40 D: diffoscope.comparators.utils.specialize: Using binwalk.BinwalkFile for y1/boot/initrd.img-6.12.5-amd64
2024-12-21 15:34:40 D: diffoscope.comparators.binwalk: Extracting y2/boot/initrd.img-6.12.5-amd64 to /tmp/diffoscope_24y_gl8r_/binwalke9rdizko
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information