[Yum-devel] pipe deadlock

seth vidal skvidal at fedoraproject.org
Fri Oct 17 14:41:54 UTC 2008


On Fri, 2008-10-17 at 10:30 -0400, Mike McLean wrote:
> The RPMTransaction creates a pipe and hands the write end to
> rpm.setLogFile in order to catch scriptlet output. This will cause
> pipe deadlock when rpmlib generates a large enough amount of log
> output outside of the scriptlets. Output such as "warning: group
> myfakegroup does not exist, using root" happens in rpmlib in the main
> process, which means no one will read from the pipe until there is an
> appropriate callback event. If this output exceeds the pipe buffer
> size, you hit deadlock.
> 
> I'm not sure what the best solution is here. I suppose, ideally,
> rpmlib would provide somewhat better controls.

Yes, that's the correct fix. And iirc, is what is being worked on.



-sv




More information about the Yum-devel mailing list