Red Hat Bugzilla – Bug 241735
reposync problem with byte ranges
Last modified: 2008-03-13 09:35:15 EDT
Description of problem:
cobble reposync fails if interrupted (on continue)
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. interrupt reposync in progress
2. try to run it again
python stack trace - strace'ing reveals HTTP Unsatisfiable error - related to
successful continuation of download
removing the /var/www/cobbler/repo_mirror/ rpm file that was partially
downloaded allows reposync to finish
guessing the logic to ask the server for the right byte range has a defect
Please post the contents of your /var/lib/cobbler/repos file and the contents of
the stack trace.
Stacktrace (and last few info messages):
already exists and appears to be complete
Traceback (most recent call last):
File "/usr/bin/reposync", line 196, in ?
File "/usr/bin/reposync", line 190, in main
path = repo.getPackage(pkg)
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 440, in getPackage
File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 426, in __get
raise Errors.RepoError, "failure: %s from %s: %s" % (relative, self.id, e)
yum.Errors.RepoError: failure: openlierox-0.57-0.3.beta2.fc6.i386.rpm from
fc6i386extras: [Errno 256] No more mirrors to try.
cobbler reposync failed
oh, this is curious - I might have been hasty in my earlier assumption about the
download not finishing:
This is the one I moved out of the way so it would finish:
-rw-r--r-- 1 root apache 39251480 Apr 16 07:21
having done so, the new file, successfully downloaded:
-rw-rw-r-- 1 jfredrick bfccomputing 38432280 Apr 16 07:21
So, somehow the buggered one was bigger. I had assumed it was incomplete.
Anyway, I have no clue how that happened, but I can see where that could be a
problem for the continuation routine I might have written. :)
Created attachment 155652 [details]
strace with HTTP info
here's an strace of the HTTP exchange. I seems to read each character with a
system call, so at least you can see the text, though you have to read down the
This looks like a problem in the 'reposync' program, which is a part of the
package 'yum-utils'. (I was asking for the cobbler config file so I could
determine whether this repo was using reposync or rsync for the copying).
Seth, I've fwd'd this to you as this issue is something with resuming an
interrupted reposync as opposed to something cobbler specific. If you need
further help figuring this out, let me know.
About the original defect: "cobbler reposync" is a command that will sync
multiple mirrored repositories, some might use reposync, some might use rsync,
etc. In this case, it's an http:// repo, so reposync is being shelled out to
using the subprocess module.
The options used aren't that interesting -- /usr/bin/reposync --config=$filename
okay I can't make this happen in yum-utils 1.0.4 on centos5 which is as close as
I could find to fc6.
If either of you can recreate this on rhel5/centos5, f7, f8 or rawhide please
reopen. As it is I'm going to mark as fixed in 1.0.4 and up