Bug 679630

Summary: anaconda crash in yuminstall.py due to missing package that should have been installed
Product: Red Hat Enterprise Linux 6 Reporter: Suqin Huang <shuang>
Component: yumAssignee: James Antill <james.antill>
Status: CLOSED WONTFIX QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: high Docs Contact:
Priority: high    
Version: 6.1CC: akozumpl, borgan, ddumas, pknirsch
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-26 19:39:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
anaconda crash
none
trace info none

Description Suqin Huang 2011-02-23 02:42:49 UTC
Created attachment 480313 [details]
anaconda crash

Description of problem:
using the default setting to install RHEL6.1-20110210.1/6/Server/x86_64/ with qemu, anaconda crash in yuminstall.py while packages are 100% installed

Version-Release number of selected component (if applicable):
anaconda-13.21.97-1.el6.x86_64.rpm
kernel-2.6.32-114.0.1.el6.x86_64.rpm
RHEL6.1-20110210.1/6/Server/x86_64/

How reproducible:
2/35

Steps to Reproduce:
1. using the default setting to install RHEL6.1-20110210.1/6/Server/x86_64/ with qemu
2. 
3.
  
Actual results:


Expected results:


Additional info:

Comment 2 Ales Kozumplik 2011-02-23 08:18:59 UTC
Can you please attach all the logfiles and the complete traceback? You can save all this information into a file using the 'save' button in the exception dialog.

Comment 3 Suqin Huang 2011-02-24 11:25:00 UTC
Created attachment 480724 [details]
trace info

Comment 4 Chris Lumens 2011-02-24 15:00:58 UTC
Traceback (most recent call first):
  File "/usr/lib/anaconda/yuminstall.py", line 1095, in _run
    for (descr, (ty, mount, need)) in probs.value: # FIXME: probs.value???
  File "/usr/lib/anaconda/yuminstall.py", line 1062, in run
    if self._run(instLog, cb, intf) == DISPATCH_BACK:
  File "/usr/lib/anaconda/yuminstall.py", line 1838, in doInstall
    rc = self.ayum.run(self.instLog, cb, anaconda.intf, anaconda.id)
  File "/usr/lib/anaconda/backend.py", line 242, in doInstall
    return anaconda.backend.doInstall(anaconda)
  File "/usr/lib/anaconda/dispatch.py", line 208, in moveStep
    rc = stepFunc(self.anaconda)
  File "/usr/lib/anaconda/dispatch.py", line 126, in gotoNext
    self.moveStep()
  File "/usr/lib/anaconda/text.py", line 665, in run
    anaconda.dispatch.gotoNext()
  File "/usr/bin/anaconda", line 1121, in &lt;module&gt;
    anaconda.intf.run(anaconda)
ValueError: need more than 1 value to unpack

Comment 5 Ales Kozumplik 2011-02-24 15:19:44 UTC
James,

is this another instance of bug 613817?

We have always only expected a YumBaseError that has a .value saying what type of exception this is etc.

Comment 6 James Antill 2011-02-24 15:43:52 UTC
It looks like it, but the fix looks like it's in yum ... so this shouldn't happen anymore.

Can we make sure where the raise is coming from? Also this is the latest RHEL-6.1 yum, I assume?

Comment 7 Ales Kozumplik 2011-02-24 16:14:25 UTC
The value of the exception that we couldn't take apart (and tracebacked) is "Rpmdb checksum is invalid: dCDPT(pkg checksums)", so it was raised in yum/rpmsack.py.

It is reported against anaconda-13.21.97-1 from Feb 10th (so it could be 11th or so 6.1 nightly).

Comment 8 James Antill 2011-02-24 16:35:13 UTC
Ok, so this is a different exception ... the problem is that anaconda isn't expecting any other kinds of exceptions apart from the ones from rpm.

The specific exception is from this:


        for txmbr in precache:
            (n, a, e, v, r) = txmbr.pkgtup
            pkg = self.searchNevra(n, e, v, r, a)
            if not pkg:
                # Wibble?
                self._deal_with_bad_rpmdbcache("dCDPT(pkg checksums)")
                continue

...and means that we had a package that was supposed to be installed, and it didn't get installed (and the transaction didn't fail). Which should never happen.
 It would certainly be interesting to see what the difference was there.

Interestingly the exception only gets thrown when yum is running in debug mode, see:

    def _deal_with_bad_rpmdbcache(self, caller):
[...]
        if __debug__:
            raise Errors.PackageSackError, 'Rpmdb checksum is invalid: %s' % caller

...so does anaconda intentional run in __debug__ mode?

 Do we have any more of these, are they reproducible?

Comment 9 Ales Kozumplik 2011-02-25 08:49:31 UTC
According to

http://docs.python.org/library/constants.html?highlight=__debug__#__debug__

__debug__ is true whenever -O is not specified when anaconda is started, which it is not as far as I know, so it makes sense the exception gets thrown.

I haven't heard of somebody else reproducing this (but who knows what's the state of the repo from the bug report).

Comment 10 James Antill 2011-03-22 21:22:04 UTC
Moving this to 6.2 at this point. Also asking again:

 Do we have any more of these, are they reproducible?

Comment 11 Suqin Huang 2011-03-23 04:34:54 UTC
can reproduce in tree RHEL6.1-20110317.1

Comment 12 Ales Kozumplik 2011-03-23 08:13:51 UTC
(In reply to comment #10)
> Moving this to 6.2 at this point. Also asking again:
> 
>  Do we have any more of these, are they reproducible?

No,

I don't think we have seen this bug since. But this can be because the RPM db or a package was broken in some specific way and then the error handling failed.

Comment 13 James Antill 2011-06-09 18:45:17 UTC
 Not going to ACK this as I'm still not sure there's a real bug in yum, but leave this open for 6.2 and if we see any more of these we can look to find out how packages are disappearing.

Comment 15 RHEL Program Management 2012-05-03 05:08:57 UTC
Since RHEL 6.3 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.

Comment 16 James Antill 2012-06-26 19:39:35 UTC
 Going to just close this, given it's basically a dead bug somewhere.