Fatal problems with dpkg<->dpkg-deb communication in 1.8.1
When I installed dpkg 1.8.1 at work a few hours ago I couldn't install
any packages with it; while unpacking, it got EAGAIN when trying to read
from its pipe to dpkg-deb, and then segfaulted. This was in
lib/mlib.c:buffer_read() and lib/mlib.c:buffer_copy() at least, which at
the moment tolerate EINTR but not EAGAIN. In the end I had to manually
extract dpkg_1.7.2_i386.deb in the root directory and then reinstall
dpkg 1.7.2 properly to get everything working again.
This was on a machine being upgraded from potato to sid; the new libc6
had already been installed. It's running a 2.2.5 kernel at the moment,
and runs dpkg < 1.8.0 with no problems. Sorry I can't provide an strace
right now, but I forgot to mail it to myself from work; if nobody else
has seen this already then I'll file a proper bug report on Monday.
Did somebody do something involving non-blocking file descriptors in
Colin Watson [email@example.com]