[Bug 657605] New: zypp+curl chunked download produces corrupt files
https://bugzilla.novell.com/show_bug.cgi?id=657605 https://bugzilla.novell.com/show_bug.cgi?id=657605#c0 Summary: zypp+curl chunked download produces corrupt files Classification: openSUSE Product: openSUSE 11.4 Version: Factory Platform: i686 OS/Version: Other Status: NEW Severity: Major Priority: P5 - None Component: libzypp AssignedTo: zypp-maintainers@forge.provo.novell.com ReportedBy: bwiedemann@novell.com QAContact: qa@suse.de Found By: --- Blocker: --- zypp+curl chunked download produces corrupt files How To Reproduce: 1. I install Factory from KDE-LiveCD-i686-Build0915 2. possibly optional: add factory-tested repo 3. call yast2 -i 4. select "Accept" and "Continue" Actual Results: This starts to download rpms, first fetching the metalink.xml from download.o.o and then concurrently fetching chunks from different mirrors. However, on big files, there is a certain chance that the result will be corrupted. In one case, diff of the corrupted file with the intact file showed that between position 384KByte and 512KByte the corrupt file had content identical to position 0 Since zypp/curl uses 128KB chunks, the chunking/reassembly is probably faulty. Full tcpdump capture is available. Expected Results: should produce the same content as wget Reproducible: Always Extra Info: One of the 14 mirrors refused to deliver content from offsets: > curl -v -C900 http://opensuse.mirrors.proxad.net/opensuse/factory-tested/repo/oss/README * About to connect() to opensuse.mirrors.proxad.net port 80 (#0) * Trying 2a01:e0c:1:1598::1... connected * Connected to opensuse.mirrors.proxad.net (2a01:e0c:1:1598::1) port 80 (#0) > GET /opensuse/factory-tested/repo/oss/README HTTP/1.1 > Range: bytes=900- > User-Agent: curl/7.21.2 (i686-pc-linux-gnu) libcurl/7.21.2 OpenSSL/1.0.0 zlib/1.2.5 libidn/1.15 libssh2/1.2.7 > Host: opensuse.mirrors.proxad.net > Accept: */* > < HTTP/1.1 200 OK < Content-Type: application/octet-stream < ETag: "-1235578355" < Last-Modified: Mon, 15 Nov 2010 06:28:34 GMT < Content-Length: 1002 < Date: Sat, 04 Dec 2010 18:30:49 GMT < Server: lighttpd/1.4.19 < * HTTP server doesn't seem to support byte ranges. Cannot resume. * Closing connection #0 curl: (33) HTTP server doesn't seem to support byte ranges. Cannot resume. The server responds with the full file as if there was no bytes= in the request In the network capture it is also visible that identical data is requested 3-5 times from different servers, wasting a lot of network-bandwidth. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=657605
https://bugzilla.novell.com/show_bug.cgi?id=657605#c1
--- Comment #1 from Bernhard Wiedemann
https://bugzilla.novell.com/show_bug.cgi?id=657605
https://bugzilla.novell.com/show_bug.cgi?id=657605#c2
--- Comment #2 from Bernhard Wiedemann
https://bugzilla.novell.com/show_bug.cgi?id=657605
https://bugzilla.novell.com/show_bug.cgi?id=657605#c3
Bernhard Wiedemann
https://bugzilla.novell.com/show_bug.cgi?id=657605
https://bugzilla.novell.com/show_bug.cgi?id=657605#c4
Michael Schröder
https://bugzilla.novell.com/show_bug.cgi?id=657605
https://bugzilla.novell.com/show_bug.cgi?id=657605#c5
Bernhard Wiedemann
participants (1)
-
bugzilla_noreply@novell.com