[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: File ends unexpectedly at pos XXX when compressing
From: |
Scott Mcdermott |
Subject: |
Re: File ends unexpectedly at pos XXX when compressing |
Date: |
Sat, 19 Aug 2023 04:23:38 -0700 |
On 20230813 Antonio Diaz Diaz <antonio@gnu.org> wrote:
> > to compress a 37GB directory 'dir' containing approximately
> > 12,000 files. The output grew to 15GB and then I received
> > this report:
> >
> > File 'dir/foo' ends unexpectedly at pos 106496
> >
> > with exit code 1 [...] It worked fine when I gave it just this file.
>
> Do you mean the command 'tarlz -cpf file.tlz dir/foo' produced
> an archive with a 'dir/foo' member of the right size? Or did you
> use some other command?
Yes, that one. I don't know why it worked when reading that file
alone, but see below.
> [...]
> This error message may happen when the file reduces its size
> while it is being archived, or when the file size does not match
> the real file contents because of a file system error, for example.
You are right, I did not think it were possible, but there were read
errors on the NVME device in the kernel log, which I was able to
reproduce with 'dd' skip to the LBA and issue reads. Interestingly,
"tar | pbzip2" finished the whole thing without error, although
repeated attempts with "tarlz" always produced errors.
Let this be a lesson to (1) look in the kernel log, (2) not trust
Samsung 970 EVO SSDs not to fail even well before their rated
limits, and (3) make sure your backups are current ;-)
> I have just added to my list of pending tasks to improve the
> diagnostic above to specify whether the cause is EOF or some
> error.
Excellent, strerror() would be useful to print in latter case...
thanks