Skip to content

Ostree Corruption after update, ostree crc check in Verify Target ? #406

@NoelsJaan

Description

@NoelsJaan

A small percentage of devices have corruption of large binaries in the system after an update.

bash-5.1# ostree fsck -a > /dev/null
In commits b0092d0bb7af9b787450ed1301dff04ffc2f449164d72151ef3c5b43492aa585: fsck content object bb445aa4d3652e8a7b087670c5d86151175ebdd43ff5bc1d593f08b7238a4afb: Corrupted file object; checksum expected='bb445aa4d3652e8a7b087670c5d86151175ebdd43ff5bc1d593f08b7238a4afb' actual='ed75b95c4e91c0f2daa104a48340a625331cbe5886477cce6d393b91ecc7f828' -> 42M -> /usr/lib/go/pkg/linux_arm64_dynlink/libstd.so
In commits b0092d0bb7af9b787450ed1301dff04ffc2f449164d72151ef3c5b43492aa585: fsck content object 323173b724c6e2a5572095bba472a9822a8b448656c118bfbf0868262601543a: Corrupted file object; checksum expected='323173b724c6e2a5572095bba472a9822a8b448656c118bfbf0868262601543a' actual='0ba4cbcec8c4e0d5153cca4403866b2bcd68f4829dfdfc1f1c679803c3c8b254’ -> 12M -> /usr/bin/containerd-shim-runc-v2
In commits 28e851552e4ee006cae874b1e2dcd3dfc16224ce90edc87607ca69207e535480: fsck content object ff19d31aaa80392a48f43ca5742e5e7e213559e3ae267a1675773779a15e1169: Corrupted file object; checksum expected='ff19d31aaa80392a48f43ca5742e5e7e213559e3ae267a1675773779a15e1169' actual='f490c99bb19776eeb3b6c539878c28c539080363cbcb6c66bc3f1af30e1d63e6' -> 49M -> /usr/bin/docker
In commits b0092d0bb7af9b787450ed1301dff04ffc2f449164d72151ef3c5b43492aa585: fsck content object c363ef1e3d41a9b3237a1eca7d48cfa481259acf723311e1ca86b740c6763d1d: Corrupted file object; checksum expected='c363ef1e3d41a9b3237a1eca7d48cfa481259acf723311e1ca86b740c6763d1d' actual='877dbbc9214af4235580d6df8fd8d5a3382d98ee216befdd5de6a6ec32571592' -> 61M -> /usr/bin/dockerd
In commits b0092d0bb7af9b787450ed1301dff04ffc2f449164d72151ef3c5b43492aa585: fsck content object 74974a3d70f75a2fd687feccae99e88bea01a3f9d4b8cf4eeeebbbaf37da5282: Corrupted file object; checksum expected='74974a3d70f75a2fd687feccae99e88bea01a3f9d4b8cf4eeeebbbaf37da5282' actual='b13ebd4b274a4878313f4c622cc0df8c4f62553fb53348804be1612f350cb1ae' -> 23M -> /usr/bin/containerd-ctr
In commits b0092d0bb7af9b787450ed1301dff04ffc2f449164d72151ef3c5b43492aa585: fsck content object a21ec8800cfa4b2df8372e64434cc98cd44c3467be867b83c65a55393588ca89: Corrupted file object; checksum expected='a21ec8800cfa4b2df8372e64434cc98cd44c3467be867b83c65a55393588ca89' actual='57bff6b0fbadffc1ef0760b08e0b3cfeaf557bf7df9cc69c4e1b4642b22f1fc0' -> 48M -> /bin/containerd
In commits b0092d0bb7af9b787450ed1301dff04ffc2f449164d72151ef3c5b43492aa585: fsck content object 5e360e588b0df447f8dd894ac9b521ab3d88613abba741b7ddd003ab563a9fb1: Corrupted file object; checksum expected='5e360e588b0df447f8dd894ac9b521ab3d88613abba741b7ddd003ab563a9fb1' actual='c46cf83b73509dbd8d83e6cdba829b598f8cdb266617aaf975cd1644447e4cb7' -> 53M -> /usr/lib/docker/cli-plugins/docker-compose
error: Repository corruption encountered

Checking the sha256sum of these binaries between a healthy and unhealthy system indeed show the crc's don't match

In

if (client.VerifyTarget(target) != TargetStatus::kGood) {
the contents of the pull be checked by checksum ? This verify is retraced to the https://github.com/foundriesio/aktualizr repo. I will make a issue here:
foundriesio/aktualizr#80

Thanks in advance for the help!

Links

ostreedev/ostree#2732 <- describes the exact issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions