Red Hat Bugzilla – Bug 87747
rpm is unusable after breaking a piped command
Last modified: 2007-04-18 12:52:40 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3) Gecko/20030312
Description of problem:
Piping the output of an rpm command (for example, -qa) into another program
which then breaks the pipe results in all further rpm commands hanging. The only
recourse is to kill -9 the hung process.
Removing the /var/lib/rpm/__db.00* files restores functionality.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. On a working RedHat 9 system: rpm -qa|less , then hit 'q' to exit less.
2. Attempt to run *any* rpm afterwards.
Actual Results: RPM hangs
Expected Results: RPM should perform the specified action.
Created attachment 90821 [details]
strace of a normal rpm -e command prior to breakage
Created attachment 90822 [details]
strace of the rpm -qa portion of rpm -qa|less
Created attachment 90823 [details]
strace of the less portion of the rpm -qa|less
Created attachment 90824 [details]
strace of the rpm -e that hangs after rpm -qa|less, up until it gets kill -9'd
Yes, rpm didn't handle SIGPIPE until recently.
FIxed (and errata pending) in packages at