[issue12] freezing at computing transaction

Risto Kankkunen at Labix Tracker tracker at labix.org
Tue Feb 7 11:36:08 PST 2006


Risto Kankkunen <risto.kankkunen at iki.fi> added the comment:

I did some investigating and found out it's Transaction._pending() in
/usr/lib/python2.4/site-packages/smart/transaction.py that's taking all the
time. I added some diagnostic prints to show call count, recursion depth and the
length of each parameter. When trying to update FF 1.5 from Fedora Core 4
Development, the log starts:

   1 [000] _pending(len(chageset)=6, len(locked)=13, len(pending)=6)

and 10 minutes later:

9014 [020] _pending(len(chageset)=347, len(locked)=345, len(pending)=1)
9015 [018] _pending(len(chageset)=342, len(locked)=338, len(pending)=1)

I tried the same operation with yum, and in 1 minute 13 seconds it complained
about 13 missing dependencies.

Next I tried installing FF 1.5 from nrpms.net/production with yum. In 11s it
offered to update firefox and cairo, pango and pango-devel. smart again started
to consume all CPU. After 2 minutes:

1752 [026] _pending(len(chageset)=310, len(locked)=381, len(pending)=2)
1753 [026] _pending(len(chageset)=318, len(locked)=387, len(pending)=1)
1754 [026] _pending(len(chageset)=318, len(locked)=387, len(pending)=1)
1755 [025] _pending(len(chageset)=305, len(locked)=374, len(pending)=3)

Pretty deep recursion there...

Hope this helps. I'm not familiar with the code base and don't know, if I have
time to delve deeper...

_______________________________________
Labix issue tracker <tracker at labix.org>
<http://tracker.labix.org/issue12>
_______________________________________



More information about the Smart mailing list