[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#41427: Odd failure to fsync() importanttmp

Package: dpkg

Here's an odd failure mode for you guys...
After a bad shutdown (hardware problem: the unlabled green button is reset,
not turbo), dpkg refused to install any packages.  Specificly, the
fsync(fileno(importanttmp)) on line 234 of lib/dbmodify.c filed with EIO.

Under investigation, I found that the EIO had to have come from the ext2
layer, and is therefor not dpkg's fault (as any problem with the input
should have been caught in the vfs layer).  

So, the bug is just that dpkg checks the return value of fsync at all -- or
at least it being fatal.  The package will install just fine without the
file makeing it to disk (it's a temp file anyway), so it's the test's fault
that dpkg broke for me (by a kind of warped reasoning; it's acatualy an ext2
problem, but one that's probably close to imposible to diagnose.)

(Yes, I did verify that "#if 0"ing out those two lines allows packages to be
installed correctly.  And filed a false bug against autoconf in the process,
to boot, but that's another story, and will be told another time.)

	-=- James Mastros
To err is human, to be pandatic is oft just plain annoying.
(See my recent posting to debian-devel.)

Reply to: