This is expected. The first snapshot stored corrupted blobs (regardless of how they got corrupted) together with size, timestamp and other file metadata. All subsequent snapshots reference the same corrupted blobs for as long as the file size and timestamp remain the same.
All data in the repository is immutable and covered by sha256. You can’t change existing snapshots or anything else stored in the repository. But if you touch the corrupted files and run restic backup, that should create new snapshot with just the touched files and hopefully correct data.
So I did it with standard restic_0.9.5, with the exact same results: the two files came with the exact same corruption as the restic_out-of-order-restore-no-progress restic.
I tried with 0.8.3 (the last release in the 0.8.x line) and got an error:
Fatal: parsing repository location failed: invalid backend
If the repo is in a local directory, you need to add a `local:` prefix
I think this means 0.8.x doesn’t support the rclone backend, correct?
Just confirmed it, and without opening the machine: installed dmidecode as indicated here, and ran it:
# dmidecode
Handle 0x0008, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0005
Error Information Handle: No Error
Total Width: 72 bits
[...]
Part Number: 0x4D33393342324737305148302D434D412020
[the same repeats for the other 3 DIMMs]
The “72 bits” should be enough to confirm it’s indeed ECC memory, but nonetheless I googled for 0x4D33393342324737305148302D434D412020 and found this: