Bug 281611 (Pirut_crash_2)

Summary: pirut crashed when adding file to transaction
Product: [Fedora] Fedora Reporter: Need Real Name <alan.lake>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 7CC: james.antill, pnasrat, thowe
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: 4.4.2.2-2.fc7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-10-24 07:14:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2007-09-06 22:40:25 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.5) Gecko/20070718 Fedora/2.0.0.5-1.fc7 Firefox/2.0.0.5

Description of problem:
While pirut was adding a file to a transaction, it crashed.  The file was php-pecl-mailparse.  I chose not to add this package.

Version-Release number of selected component (if applicable):
pirut-1.3.9

How reproducible:
Didn't try


Steps to Reproduce:
1.
2.
3.

Actual Results:
pirut crashed

Expected Results:
pirut should have finished normally

Additional info:
Component: pirut
Summary: TB90e50bc2 depsolve.py:223:populateTs:error: adding package to transaction failed

Traceback (most recent call last):
  File "/usr/sbin/pirut", line 337, in _apply
    self.applyChanges(self.mainwin)
  File "/usr/lib/python2.5/site-packages/pirut/__init__.py", line 743, in applyChanges
    self.runTransaction(mainwin)
  File "/usr/lib/python2.5/site-packages/pirut/__init__.py", line 709, in runTransaction
    self.populateTs(keepold=0)
  File "/usr/lib/python2.5/site-packages/yum/depsolve.py", line 223, in populateTs
    self.ts.addInstall(hdr, (hdr, rpmfile), txmbr.ts_state)
error: adding package to transaction failed

Local variables in innermost frame:
ts_elem: {}
hdr: <rpm.hdr object at 0x63b1270>
self: <__main__.PackageManager object at 0xf86d50>
rpmfile: //var/cache/yum/fedora/packages/php-pecl-mailparse-2.1.1-5.fc6.x86_64.rpm
keepold: 0
txmbr: php-pecl-mailparse.x86_64 0-2.1.1-5.fc6 - u
test: 0

Comment 1 Panu Matilainen 2007-09-11 07:48:27 UTC
Either it's a malformed package or pirut is adding the same (or older) package
to the transaction twice. Rpm 4.4.2.1 treats that as an error and causes
rpm-python to throw an exception, which is a bit questionable as rpm can handle
the situation just fine.

4.4.2.2 treats the situation as a warning and thus wont throw exception either,
once 4.4.2.2 final is out F7 will get it, presumably fixing this case. Pirut
should then catch the exception because after that it means a serious problem
(malformed package etc)

Comment 2 Tim Howe 2007-09-19 15:07:31 UTC
I don't believe I have any new information.  Just in case it will be helpful,
here's my dump:

___________________________________________________

Component: Software Manager
Summary: TBec0013f3 depsolve.py:162:populateTs:error: adding package to
transaction failed

Traceback (most recent call last):
  File "/usr/sbin/pirut", line 334, in _apply
    self.applyChanges(self.mainwin)
  File "/usr/lib/python2.4/site-packages/pirut/__init__.py", line 559, in
applyChanges
    self.checkDeps(mainwin)
  File "/usr/lib/python2.4/site-packages/pirut/__init__.py", line 328, in checkDeps
    (result, msgs) = self.buildTransaction()
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 448, in
buildTransaction
    (rescode, restring) = self.resolveDeps()
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 191, in resolveDeps
    self.populateTs(test=1)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 162, in populateTs
    self.ts.addInstall(hdr, (hdr, rpmfile), txmbr.ts_state)
error: adding package to transaction failed

Local variables in innermost frame:
ts_elem: {(('strace', 'i386', '0', '4.5.16', '1.fc6'), 'i'): 1, (('rcs', 'i386',
'0', '5.7', '30.1'), 'i'): 1, (('doxygen', 'i386', '1', '1.5.1', '1'), 'i'): 1,
(('automake15', 'noarch', '0', '1.5', '16'), 'i'): 1, (('diffstat', 'i386', '0',
'1.43', '1.fc6'), 'i'): 1, (('automake', 'noarch', '0', '1.9.6', '2.1'), 'i'):
1, (('flex', 'i386', '0', '2.5.4a', '41.fc6'), 'i'): 1, (('gcc', 'i386', '0',
'4.1.2', '13.fc6'), 'i'): 1, (('libtool', 'i386', '0', '1.5.22', '6.1'), 'i'):
1, (('subversion', 'i386', '0', '1.4.3', '2.fc6'), 'i'): 1, (('systemtap',
'i386', '0', '0.5.13', '1.fc6'), 'i'): 1, (('cscope', 'i386', '0', '15.5',
'15.fc6.1'), 'i'): 1, (('frysk', 'i686', '0', '0.0.1.2007.02.07.rh1', '1.fc6'),
'i'): 1, (('patchutils', 'i386', '0', '0.2.31', '2.2.2'), 'i'): 1, (('ltrace',
'i386', '0', '0.5', '6.45svn.fc6'), 'i'): 1, (('ctags', 'i386', '0', '5.6',
'1.1'), 'i'): 1, (('oprofile-gui', 'i386', '0', '0.9.2', '3.fc6'), 'i'): 1,
(('pfmon', 'i386', '0', '3.2', '0.060621.7.1'), 'i'): 1, (('rpm-build', 'i386',
'0', '4.4.2.1', '1.fc6'), 'i'): 1, (('pstack', 'i386', '0', '1.2', '7.2.2'),
'i'): 1, (('oprofile', 'i386', '0', '0.9.2', '3.fc6'), 'i'): 1, (('valgrind',
'i386', '1', '3.2.1', '4'), 'i'): 1, (('ccache', 'i386', '0', '2.4', '8.fc6'),
'i'): 1, (('cpp', 'i386', '0', '4.1.2', '13.fc6'), 'e'): 1, (('bison', 'i386',
'0', '2.3', '2.1'), 'i'): 1, (('autoconf', 'noarch', '0', '2.59', '12'), 'i'):
1, (('python-ldap', 'i386', '0', '2.2.0', '2.1'), 'i'): 1, (('nqc', 'i386', '0',
'3.1.4', '6.fc6'), 'i'): 1, (('automake16', 'noarch', '0', '1.6.3', '8'), 'i'):
1, (('antlr', 'i386', '0', '2.7.6', '4jpp.2'), 'e'): 1, (('texinfo', 'i386',
'0', '4.8', '14.fc6'), 'i'): 1, (('indent', 'i386', '0', '2.2.9', '14.fc6'),
'i'): 1, (('byacc', 'i386', '0', '1.9', '29.2.2'), 'i'): 1, (('gcc-c++', 'i386',
'0', '4.1.2', '13.fc6'), 'i'): 1, (('redhat-rpm-config', 'noarch', '0',
'8.0.45', '9.fc6'), 'i'): 1, (('gcc-gfortran', 'i386', '0', '4.1.2', '13.fc6'),
'i'): 1, (('automake14', 'noarch', '0', '1.4p6', '13'), 'i'): 1, (('cvs',
'i386', '0', '1.11.22', '6.fc6'), 'i'): 1, (('automake17', 'noarch', '0',
'1.7.9', '7'), 'i'): 1, (('elfutils', 'i386', '0', '0.129', '1.fc6'), 'i'): 1,
(('gdb', 'i386', '0', '6.5', '15.fc6'), 'i'): 1, (('swig', 'i386', '0',
'1.3.31', '0.fc6'), 'i'): 1}
hdr: <rpm.hdr object at 0xa4fb110>
pkginfo: ('redhat-rpm-config', 'noarch', '0', '8.0.45', '9.fc6')
self: <__main__.PackageManager object at 0x9910c0c>
rpmfile: //var/cache/yum/core/packages/gcc-c++-4.1.1-30.i386.rpm
keepold: 1
epoch: 0
txmbr: gcc-c++.i386 0-4.1.1-30 - u
mode: i
test: 1
te: <rpm.te object at 0xb7bc5210>

___________________________________________________



Comment 3 Fedora Update System 2007-10-12 20:02:29 UTC
rpm-4.4.2.2-2.fc7 has been pushed to the Fedora 7 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update rpm'

Comment 4 Fedora Update System 2007-10-24 07:13:50 UTC
rpm-4.4.2.2-2.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.