Description of problem: yum starts rpm scripts with their outputs set to a pipe that only the yum process itself can read from, and waits for them to complete before it will attempt to read from the pipe. If the scriptlet generates more output than the pipe buffer, (e.g., fixfiles run by the selinux-policy-targeted update), the update will hang forever Version-Release number of selected component (if applicable): yum-3.2.7-1.fc7 updating to selinux-policy-targeted-2.6.4-49.fc7 How reproducible: Every time Steps to Reproduce: 1.ssh hostname -l root yum -y update selinux-policy-target Actual results: Prints "Updating selinux-policy-targeted" progress bar then deadlocks wait()ing for the rpm %post script to complete, while restorecon and fixfiles write to the pipe whose buffer is full and nobody is reading from. Expected results: No such deadlock, output buffered in separate thread or process or sent straight to the update initiator. Additional info: cat /proc/<yumpid>/fd/32 (that was the read end of the pipe) enabled the update to complete on my end. The file descriptor was the same on two different machines, but then, the same updates were running on them, so I can't tell whether it was just a coincidence or something that can be relied upon.
*** Bug 365011 has been marked as a duplicate of this bug. ***
This is closed in 3.2.8 in updates released!