The checksum of the read byte-stream does not match the expected checksum

I am trying to do an OS update (not delta) and for some reason can not get it to work. It complains about the checksum mismatch, but I can not figure out where it is getting the ‘calculated’ output from.

# mender-update install /mnt/revel-disk-v0.0.8-20260108.1146-x86_64-mender.mender
Installing artifact...
record_id=1 severity=info time="2026-Jan-08 22:10:42.331851" name="Global" msg="Sending SIGTERM to PID 7791"
record_id=2 severity=info time="2026-Jan-08 22:10:42.332037" name="Global" msg="PID 7791 exited with status 15"
record_id=3 severity=error time="2026-Jan-08 22:10:42.332066" name="Global" msg="Streaming failed: Shasum mismatch error: The checksum of the read byte-stream does not match the expected checksum, (expected): fcf616db0573d3540b7bb73bf1f39ed32004c1bceb64bd61b53fcec9b35ea6b6 (calculated): e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
record_id=4 severity=error time="2026-Jan-08 22:10:42.339857" name="Global" msg="Shasum mismatch error: The checksum of the read byte-stream does not match the expected checksum, (expected): fcf616db0573d3540b7bb73bf1f39ed32004c1bceb64bd61b53fcec9b35ea6b6 (calculated): e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
Streaming failed.
System not modified.
Could not fulfill request: Shasum mismatch error: The checksum of the read byte-stream does not match the expected checksum, (expected): fcf616db0573d3540b7bb73bf1f39ed32004c1bceb64bd61b53fcec9b35ea6b6 (calculated): e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

I took the artifact and dumped the contents to check everything:

fcf616db0573d3540b7bb73bf1f39ed32004c1bceb64bd61b53fcec9b35ea6b6  data/0000/rootfs.img
509fb823a0cfb31f3b0bec6669abdaa78dc7788dd156f672d6502ad5e743f386  header.tar.gz
96bcd965947569404798bcbdb614f103db5a004eb6e364cfc162c146890ea35b  version

# sha256sum data/rootfs.img
fcf616db0573d3540b7bb73bf1f39ed32004c1bceb64bd61b53fcec9b35ea6b6  data/rootfs.img

# sha256sum header.tar.gz
509fb823a0cfb31f3b0bec6669abdaa78dc7788dd156f672d6502ad5e743f386  header.tar.gz

# sha256sum version
96bcd965947569404798bcbdb614f103db5a004eb6e364cfc162c146890ea35b  version

This all shows the rootfs and everything else with the correct sha.

I just have no idea how it is calculating the incorrect e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

just a follow up. we figured out that the calculated sha is of an empty string…

# echo -n "" | sha256sum
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  - 

so no idea why mender is taking my artifact and sha nothing.

as shown above when i expand the artifact it has files and the files all look good.

Hi @phynias,

Thanks for reaching out! Yes the payload obviously should not be empty, or considered to be empty. The first obvious questions would be:

  • which versions of the Mender Client and mender-artifact tools are you using?
  • how did the artifact get created? Through a Yocto or mender-convert process, or manually? If so, how?
  • mender-artifact read should be able to give details about the artifact, can you post its output?

Greetz,
Josef