Re: Corrupted output on errors

John Goerzen <[email protected]>
Newsgroups gmane.comp.sysutils.backup.dar.support
Message-ID <[email protected]>
On Sat, Nov 20 2021, Denis Corbin wrote:

>> Now that this is cleared up, I can see the errors:
>>
>> Restoration of FSA for /bakfs/other-backups/dar/ada/var/log/sysstat aborted: Skipping backward is not possible on a pipe
>> Error while restoring data: Error while reading FSA from archive: Reached end of file before all data could be read
>> Final memory cleanup...
>> Error while restoring data: Error while reading FSA from archive: Reached end of file before all data could be read
>>
>> It then exits with error 5.
>>
>> This archive was generated by dar 2.6.13 on a Raspberry Pi running ext4 and unpacked
>> by 2.7.2 on x86_64 running ZFS.

I'm going to add that I have now also experienced this on a sender that
is x86_64 running dar 2.6.13 atop ext4.  The receiver is 2.7.2 on x86_64
with ZFS in both cases.

>
> This error can come from a corrupted transfer between hosts or from dar
> itself (bug). Could you thus:

The dar file itself was piped to zstd and then gpg (for encryption)
prior to transmission, so I think it is highly unlikely that corruption
occurred in transit.

> - check that the backup testing (dar -t <backup>) succeeds with dar
> 2.6.13 on Raspberry?

I didn't happen to have the file from the Raspberry still around, but I
did have the one from the x86_64 sender that triggered the same kind of
issue, so I tried it there:

After decrypting the file:

zstdcat foo.dar.zst | dar --sequential-read -t -

 --------------------------------------------
 204381 item(s) treated
 0 item(s) with error
 0 item(s) ignored (excluded by filters)
 --------------------------------------------
 Total number of items considered: 204381
 --------------------------------------------

(without --sequential-read, I got an error about corrupted data; though
I note I did use --sequential-read on the command I gave)

> - make a sha1 sum of the dar backup on Raspberry?
> - check this sha1 sum against the dar backup on the x86_64

These backups were made by nightly automated scripts, which didn't save
the files on the source machine, but due to the wrapping in zstd and
gpg -- plus integrity checks at the transport layer -- I think
corruption in transit is highly unlikely.

> - test the backup on x86_64 (dar -t <backup>) using dar 2.7.2 ?

Same result as on the source.

You also asked about if there was any other output from dar prior to the
error.  There was only this line:

No terminal found for user interaction. All questions will be assumed a negative answ
er (less destructive choice), which most of the time will abort the program.

Thanks!

- John

>
> This should clarify whether the problem comes from dar or not.
>
>>
>> The extraction command was:
>>
>> dar --dirty-behavior no-warn --sequential-read -w -x - -R /bakfs/other-backups/dar/ada
>>
>> And it was generated with:
>>
>> Running dar -q -c - --aux /var/local/dar/1637242636 -A \
>> /var/local/dar/1637182897 -R /baksnap --empty-dir \
>> --retry-on-change 0 -P run -P tmp -P proc -P sys -P dev \
>> -P var/tmp -P var/cache/apt/archives -P media -P mnt \
>> -P cdrom -P var/cache/apt -P var/lib/mlocate -P var/lib/apt/lists \
>> -P var/log/journal -P var/spool/nncp -P var/local/dar \
>> -P var/cache/apt -P mythmount -P */no-backup -P home/*/.cache \
>> -P var/log/*log
>
> Thanks for that, I have no Rapberry board to test with, but I will check
> this configuration between a 32 bits and 64 bits Debian OS.
>
>>
>> There was no reference to var/log/sysstat at generation time, though I
>> did get a number of messages like this:
>>
>> SECURITY WARNING! SUSPICIOUS FILE /baksnap/var/spool/anacron/cron.monthly: ctime changed since archive of reference was done, while no other inode information changed
>> SECURITY WARNING! SUSPICIOUS FILE /baksnap/var/spool/anacron/cron.weekly: ctime changed since archive of reference was done, while no other inode information changed
>>
>
> This warning shows when you do differential backup and dar suspects file
> to have been modified with the intention to hide the modification...
> this is an heuristic that may give false positive. You can disable it
> adding the -asecu option on command-line, but in anycase it does not
> impact the backup content.
>
>> - John
>>
>>
>
> Cheers,
> Denis
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.