Bug 673213 - tracebacks and doesn't propagate the error
Summary: tracebacks and doesn't propagate the error
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: createrepo
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Luke Macken
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-27 18:04 UTC by Bill Nottingham
Modified: 2016-09-20 02:41 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-01-27 19:09:09 UTC
Type: ---


Attachments (Terms of Use)

Description Bill Nottingham 2011-01-27 18:04:19 UTC
Description of problem:

1) the new createrepo tracebacks in the worker:

Worker 0: Traceback (most recent call last):
Worker 0:   File "/usr/share/createrepo/worker.py", line 99, in <module>
Worker 0:     main(sys.argv[1:])
Worker 0:   File "/usr/share/createrepo/worker.py", line 87, in main
Worker 0:     globalopts.get('clog_limit', None)))
Worker 0:   File "/usr/lib/python2.7/site-packages/yum/packages.py", line 1220, 
in xml_dump_other_metadata
Worker 0:     msg += "%s\n</package>\n" % misc.to_unicode(self._dump_changelog(c
log_limit))
Worker 0:   File "/usr/lib/python2.7/site-packages/yum/packages.py", line 1186, 
in _dump_changelog
Worker 0:     clogs = self.changelog[:clog_limit]
Worker 0: TypeError: slice indices must be integers or None or have an __index__
 method

2) these errors aren't propagated:

[root@nostromo os]# createrepo -d --verbose .
Spawning worker 0 with 70 pkgs
Worker 0: reading Packages/g/gcc-gfortran-4.4.4-10.fc13.i686.rpm
Worker 0: Traceback (most recent call last):
Worker 0:   File "/usr/share/createrepo/worker.py", line 99, in <module>
Worker 0:     main(sys.argv[1:])
Workers Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Starting other db creation: Thu Jan 27 13:02:58 2011
Ending other db creation: Thu Jan 27 13:02:58 2011
Starting filelists db creation: Thu Jan 27 13:02:58 2011
Ending filelists db creation: Thu Jan 27 13:02:58 2011
Starting primary db creation: Thu Jan 27 13:02:58 2011
Ending primary db creation: Thu Jan 27 13:02:58 2011
Sqlite DBs complete
[root@nostromo os]# echo $?
0

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

createrepo-0.9.9-1.fc15.noarch

How reproducible:

100%

Steps to Reproduce:
1. rawhide
  
Actual results:

Random stuff falls out of the repo metadata. (Which makes the mash depsolve & daily depcheck mail that uses this repodata return very strange results)

Comment 1 Kevin Fenzi 2011-01-27 18:07:50 UTC
I'll note it's not just the metadata... the packages aren't in the created repo either. 
(perl-5 for example).

Comment 2 seth vidal 2011-01-27 18:26:00 UTC
I can fix the 'tracebacks aren't fatal' problem.

the specific traceback appears to be from changelog_limit config value being set to something odd.

Comment 3 seth vidal 2011-01-27 19:09:09 UTC
1. fixed the changelog_limit issue
2. non-zero exit values from any worker are now a fatal error for the whole createrepo process.

Comment 4 Bill Nottingham 2011-01-27 21:15:55 UTC
(In reply to comment #1)
> I'll note it's not just the metadata... the packages aren't in the created repo
> either. 
> (perl-5 for example).

This is due to mash's multilib solver that removes RPMs that are in the fully depsolved set - if the package isn't in the actual repodata, it will get removed.

Comment 5 Bill Nottingham 2011-01-27 21:41:40 UTC
That should be "aren't in the fully depsolved set", of course.


Note You need to log in before you can comment on or make changes to this bug.