[Yum] yum 3.2.4

Fajar A. Nugraha fajar at fajar.net
Wed Aug 29 09:50:28 UTC 2007


Fajar A. Nugraha wrote:
> With that bug out of the way as well, I'm back to the first bug I
> submitted with yum 3.2.3:
>   File "/usr/lib/python2.5/site-packages/yum/rpmtrans.py", line 164, in
> ts_done
>     (t,e,n,v,r,a) = self._te_tuples[0] # what we should be on
> IndexError: list index out of range
>
>   
OK, so now I can reliably reproduce this bug, using --installroot to
make it easier to reproduce.
Using these commands :
# yum --installroot=/data2/tmp/root --disablerepo=updates install gaim
# mkdir -p /data2/tmp/root.orig/var/lib/yum
# yum --installroot=/data2/tmp/root update

I insert this line on yum/rpmtrans.py, line 311, to help debugging
   print len(self._te_tuples)
just before
   self.ts_done(txmbr.po, txmbr.output_state)

Last few lines of output :
  Installing: NetworkManager               ####################### [44/62]
19
  Installing: NetworkManager-glib          ####################### [45/62]
18
  Installing: libpurple                    ####################### [46/62]
17
  Cleanup   : resmgr                       ####################### [47/62]
  Cleanup   : krb5                         ####################### [48/62]
  Cleanup   : hal                          ####################### [49/62]
  Cleanup   : pm-utils                     ####################### [50/62]
  Erasing   : gaim                         ####################### [51/62]
  Cleanup   : aaa_base                     ####################### [52/62]
  Cleanup   : evolution-data-server        ####################### [53/62]
  Cleanup   : libsmbclient                 ####################### [54/62]
  Cleanup   : openssl                      ####################### [55/62]
  Cleanup   : libsoup                      ####################### [56/62]
  Cleanup   : freetype2                    ####################### [57/62]
  Cleanup   : sysvinit                     ####################### [58/62]
  Cleanup   : pam                          ####################### [59/62]
  Cleanup   : audit-libs                   ####################### [60/62]
  Cleanup   : gtk2                         ####################### [61/62]
  Cleanup   : libpng                       ####################### [62/62]
0
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.main(sys.argv[1:])
  File "/usr/share/yum-cli/yummain.py", line 180, in main
    base.doTransaction()
  File "/usr/share/yum-cli/cli.py", line 382, in doTransaction
    self.runTransaction(cb=cb)
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 579, in
runTransaction
    errors = self.ts.run(cb.callback, '')
  File "/usr/lib/python2.5/site-packages/yum/rpmtrans.py", line 249, in
callback
    self._instCloseFile(  bytes, total, h )
  File "/usr/lib/python2.5/site-packages/yum/rpmtrans.py", line 312, in
_instCloseFile
    self.ts_done(txmbr.po, txmbr.output_state)
  File "/usr/lib/python2.5/site-packages/yum/rpmtrans.py", line 164, in
ts_done
    (t,e,n,v,r,a) = self._te_tuples[0] # what we should be on
IndexError: list index out of range

There seems to be a problem during Erase or Cleanup because
len(self._te_tuples) on the last line should be 1, not 0.

Attached is a patch which simply skips self.ts_done when
len(self._te_tuples) < 1. This doesn't solve the root cause, but at
least it allows yum to exit cleanly :)

Regards,

Fajar



More information about the Yum mailing list