This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 463447 - If yum gets an exception in it's rpm callbacks ... rpm can go insane killing the machine
If yum gets an exception in it's rpm callbacks ... rpm can go insane killing ...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: yum (Show other bugs)
5.2
All Linux
high Severity medium
: rc
: ---
Assigned To: James Antill
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-09-23 11:00 EDT by James Antill
Modified: 2009-09-03 10:03 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-01-20 16:43:52 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description James Antill 2008-09-23 11:00:33 EDT
Description of problem:

 The problem is outlined in this recent thread on fedora-devel:

https://www.redhat.com/archives/fedora-devel-list/2008-September/msg02063.html

...but basically if an exception occurs in the yum RPMTransaction callback, then rpm can go insane and run the "delete old versions" part of the updates without having run the "install new versions". An exception can be generated on I/O if the ssh connection dies of the person running the yum update command.
 So if you are updating glibc over ssh and the network goes away, rpm can remove the C library and thus. kill the machine.

 Obviously this is a major rpm bug, and it might be better if we can fix this in rpm for 5.3 instead. However I've also done a couple of hacks that basically hide some/most errors from rpm, which might be enough.
Comment 1 James Antill 2008-09-29 15:54:00 EDT
So I spoke with Panu and he seems to think we really should get this in for 5.3, so flags?
Comment 3 James Antill 2008-09-30 10:16:19 EDT
 Note that where Panu put that raise is not protected by the yum patch, because it's not possible for an IO exception to occur there.

 I tried to simulate this by using:

(yum update -y | cat) &

...and then kill'ing the cat command at various points ... and while that did do some "interesting" things, including just halting the transaction immediately, it didn't do the "rpm erases the system" problem.

 But that should be mostly ignored after the latest patch (yum/rpm should continue).
Comment 9 errata-xmlrpc 2009-01-20 16:43:52 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-0176.html

Note You need to log in before you can comment on or make changes to this bug.