| Summary: | rpm db warnings going to stdout, breaking some install scripts | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | David Zambonini <redhat-e27> | ||||
| Component: | rpm | Assignee: | Packaging Maintenance Team <packaging-team-maint> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Stefan Dordevic <sdordevi> | ||||
| Severity: | low | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 6.7 | CC: | lkardos, sdordevi | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | |||||||
| : | 1297793 (view as bug list) | Environment: | |||||
| Last Closed: | 2016-05-11 00:54:17 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Bug Depends On: | |||||||
| Bug Blocks: | 1297793 | ||||||
| Attachments: |
|
||||||
In upstream fixed as 243fadeaecdd5b1231091ef5f15b58fd7959b0e7. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-0936.html |
Created attachment 1112210 [details] rpm db4 messages should go to stderr Description of problem: Some rpm pre/post scripts rely on a shell out to rpm to determine pre-existing installed package information/versioning. (e.g. `rpm -q --provides mysql-server 2> /dev/null`) Unfortunately some non-fatal warnings can be output if, for example, a read lock on the rpmdb is held open at this time, leading to the warning picked up as the output and causing breakage: Freeing read locks for locker 0x49e: 482061/47810768245328 mysql-server-5.1.73-5.el6_6.x86_64 (both lines on stdout) Putting aside the question of what is holding the read lock open for a second, this behaviour is obviously erroneous -- warnings/errors should be output to stderr, not stdout. How reproducible: `rpm -q --provides mysql-server 2> /dev/null` While read lock held open on rpmdb. Cannot provide a reproducer for this as unfortunately is enivornment dependent. Actual results: Freeing read locks for locker 0x49e: 482061/47810768245328 mysql-server-5.1.73-5.el6_6.x86_64 Expected results: Freeing read locks for locker 0x49e: 482061/47810768245328 (on stderr) mysql-server-5.1.73-5.el6_6.x86_64 (on stdout) Additional info: The behaviour is caused by db4, which if no msgfile is specified, defaults to stdout. There is a simple fix, however, which without modifying default db4 behaviour that merely involves rpm passing stderr as the msgfile at initialisation (patch supplied).