On 6 May 2012 17:57, YOSHINO Yoshihito <yy.y.ja...@gmail.com> wrote: > By bisecting changes in the bzr repository I found this problem is > caused by a commit revision 2129.55.33 "use a static FileFd::Write > overload to reduce duplication of write()-retry code". > > More specifically, replacing the loop in function > pkgAcquire::Worker::OutFdReady with a call to FileFd::Write causes the > behavior. Previously, this function tries a single write() call against > file descriptor OutFd, trims OutQueue and returns true. The current > version calls FileFd::Write, which issues write() repeatedly until the > request finishes. This write() fails with errno EAGAIN after a > successful write of 65536 bytes, which suggests the size of the buffer > of a pipe OutFd points to. >
Thank you for tracking this down. This happens because Worker is dumping the configuration and the aptitude-defaults.LANG contains large amounts of data for some locales. Other large amounts of config would cause the same problem. Regardless, it seems like FileFd::Write in it's current form is not suitable for the non-blocking IO used in OutFdReady. > An attached patch simply reverts pkgAcquire::Worker::OutFdReady to its > 0.8.16~exp13 version. Works for me. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org