Bug 241735 - reposync problem with byte ranges
Summary: reposync problem with byte ranges
Alias: None
Product: Fedora
Classification: Fedora
Component: yum-utils   
(Show other bugs)
Version: 6
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Seth Vidal
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2007-05-29 22:21 UTC by Bill McGonigle
Modified: 2008-03-13 13:35 UTC (History)
1 user (show)

Fixed In Version: 1.0.4
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-03-13 13:35:15 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
strace with HTTP info (51.44 KB, text/plain)
2007-05-30 02:09 UTC, Bill McGonigle
no flags Details

Description Bill McGonigle 2007-05-29 22:21:15 UTC
Description of problem:

cobble reposync fails if interrupted (on continue)

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


How reproducible:


Steps to Reproduce:
1. interrupt reposync in progress
2. try to run it again
Actual results:

python stack trace - strace'ing reveals HTTP Unsatisfiable error - related to
byte ranges

Expected results:

successful continuation of download

Additional info:

using mirrors.kernel.org

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

Comment 1 Michael DeHaan 2007-05-29 22:50:00 UTC

Please post the contents of your /var/lib/cobbler/repos file and the contents of
the stack trace.

Comment 2 Bill McGonigle 2007-05-30 00:39:44 UTC
Stacktrace (and last few info messages):

already exists and appears to be complete
Downloading openlierox-0.57-0.2.beta1.fc6.i386.rpm
Downloading openlierox-0.57-0.3.beta2.fc6.i386.rpm
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

repos file:

    keep_updated: 1
    local_filename: fedora-updates
    mirror: 'http://mirrors.kernel.org/fedora/core/updates/6/i386/'
    name: fc6i386updates
    rpm_list: ''
    keep_updated: 1
    local_filename: fedora-extras
    mirror: 'http://mirrors.kernel.org/fedora/extras/6/i386/'
    name: fc6i386extras
    rpm_list: ''

Comment 3 Bill McGonigle 2007-05-30 00:46:05 UTC
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

size: 39251480

having done so, the new file, successfully downloaded:

-rw-rw-r-- 1 jfredrick bfccomputing 38432280 Apr 16 07:21

size: 38432280

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. :)

Comment 4 Bill McGonigle 2007-05-30 02:09:34 UTC
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

Comment 5 Michael DeHaan 2007-05-30 14:46:57 UTC
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).

Comment 6 Michael DeHaan 2007-05-30 14:51:01 UTC
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
--repoid=$name --download_path=$path


Comment 7 Seth Vidal 2008-03-13 13:35:15 UTC
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.

Michael, Bill,
 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

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