Bug 463447

Summary: If yum gets an exception in it's rpm callbacks ... rpm can go insane killing the machine
Product: Red Hat Enterprise Linux 5 Reporter: James Antill <james.antill>
Component: yumAssignee: James Antill <james.antill>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: high    
Version: 5.2CC: ddumas, jhutar, syeghiay
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
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:
Cloudforms Team: ---

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