Re: dpkg 1.17.24 trashing files
On Fri, 2015-04-03 at 00:44:49 +0200, Guillem Jover wrote:
> On Thu, 2015-04-02 at 21:09:44 +0200, Peter Gervai wrote:
> > After installing dpkg_1.17.24_amd64 everything started crashing really hard.
> > It turned out that most files had 0x00 appended at their end, like
> > bash_completion.sh (making it non-exacutable), READMEs and possibly
> > others. I've tried to strace it but I dont' see obvius obvious
> > problem.
> > Downgrading to 1.16.15 seems to have fixed the problem.
> You downgraded only dpkg or more packages, and reinstalled what other
> packages too?
> It would be nice to track this down (in case it's not a hardware
> problem, or an issue in a lower level package, like glibc or kernel).
Peter just sent some more traces privately, which didn't show anything
to be broken in dpkg. So then my guess was that the new fallocate(2)
calls introduced in dpkg 1.17.x could be causing the problem.
And Peter confirmed that indeed they were. The problem is showing up
when using fallocate(2) on a GFS2 filesystem, from at least this Linux
tree <https://github.com/proxmox/pve-kernel-2.6.32>. I'm not sure if
this has been fixed in newer versions, or in Linus' tree, and would be
nice to report, as otherwise that filesystem is pretty much unreliable.
To easily check if your system is affected when using such filesystem,
you can do something like:
$ fallocate -l 400 new-file
$ [ $(stat -c %s new-file) -eq 400 ] || echo broken