Bug 24512
Summary: | rpm does not close pipes correctly | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Gerald Teschl <gt> |
Component: | gpm | Assignee: | Preston Brown <pbrown> |
Status: | CLOSED WONTFIX | QA Contact: | David Lawrence <dkl> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.1 | CC: | dr |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i386 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2001-02-09 15:59:31 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Gerald Teschl
2001-01-21 18:50:00 UTC
This defect is considered MUST-FIX for Florence Gold release This is a gpm packaging problem, verifed by doing rpm -Fv --noscripts gpm* | grep gpm It happens with other packages as well. For example with: autofs-3.1.7-5 openssh-2.3.0p1 vixie-cron-3.0.1-57 Could it be that this is related to #18988 ? I still think this is an rpm and not a gpm/openssh/packaging problem. I just had another look at the problem. The gpm daemon still has the pipe open for writing after rpm has quit. However, since gmp is restarted as service gpm stop >/dev/null 2>& in the post script, it doesn't have the pipe as STDOUT/ERR but /dev/null. So where did it get it from? still an RPM issue. Again, I repeat: If you install gpm with --noscripts, the install does not "hang". That means that the problem is in packaging, and the fix is in packaging, and the bug report needs to be against the package(s), not rpm, as there's no way that I can "fix" (i.e. by changing the execution environment of rpm scriptlets) without introducing legacy incompatibilities (i.e. by changing the execution environment of rpm scriptlets) at this point in a release cycle. So, back to gpm, which needs to close open file descriptors when starting as daemon. Please open separate bugs for the "me too" packages, as this bug is about gpm, and it's unclear whether the other packages have this or another problem. This defect has been removed from the Florence Gold MUST-FIX list My guess is the following: Rpm redirects stdout/err but keeps a copy of the original stdout/err so it can be restored later. Then it does a fork and the child execs the script. However, the child does forget to close the copy of the filehandle and so all subsequent processes inherit it. looking through the code, it looks like there are several reasons that stderr isn't closed during startup of gpm. Here's a comment: /* FIXME: stderr must be closed at this point, as protocol init needs it */ As this bug isn't critical, and it seems we might introduce more problems than we solve by messing with the code, I'm closing this WONTFIX. *** Bug 36400 has been marked as a duplicate of this bug. *** *** Bug 36400 has been marked as a duplicate of this bug. *** |