[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#152711: apt has problems with chunked encoding or publicfile?



Package: apt
Version: 0.5.4

I was setting up a debian mirror at work at noticed that apt has problems
downloading large files from djb's http server publicfile 
(http://cr.yp.to/publicfile.html)  Small files download fine (like the contrib
and non-free Packages.gz files) but large files become corrupted during transfer.

I copied the /var/lib/apt/lists/partial/______ file during mid transfer and
started paging through it and noticed the file became corrupted midway through 
I guess that means that some of the gzip conversion table data had been lost by
that point.

The large file corruption problem happens during "update" as well as during
"install"s

Here are the things i know.
publicfile was the only daemon that apt/http had problems transferring from.

apt/http had no problems downloading from apache, boa or webfs

publicfile was the only daemon that was doing chunked transfers.

links and galeon/mozilla were the only other download tools i had on hand that i
could do http/1.1 transfers with.

links galeon/mozilla downloaded the Releases.gz file without problem.

modifying methods/http.cc to do a 1.0 request and then setting the apt.conf
pipeline var to 0 so it didn't try to ask for 1.1 featurs the file downloads fine.

Headers.....(from ethereal)
apt headers: 
T 127.0.0.1:1585 -> 127.0.0.1:80 [AP]
  GET /debian/dists/woody/main/binary-i386/Packages.gz HTTP/1.1..Host: 127.0.
  0.1..Connection: keep-alive..User-Agent: Debian APT-HTTP/1.3....GET /debian
  /dists/woody/main/binary-i386/Release HTTP/1.1..Host: 127.0.0.1..Connection
  : keep-alive..User-Agent: Debian APT-HTTP/1.3....                          

T 127.0.0.1:80 -> 127.0.0.1:1585 [AP]
  HTTP/1.1 200 OK..Server: publicfile..Date: Fri, 12 Jul 2002 05:24:19 GMT..L
  ast-Modified: Thu, 11 Jul 2002 19:08:01 GMT..Content-Type: application/x-gz
  ip..Transfer-Encoding: chunked....400..                                    
-

links headers:
T 127.0.0.1:1599 -> 127.0.0.1:80 [AP]
  GET /debian/dists/woody/main/binary-i386/Packages.gz HTTP/1.1..Host: 127.0.
  0.1..User-Agent: ELinks (0.4pre5; Unix; 80x25)..Accept: */*..Accept-Charset
  : us-ascii, ISO-8859-1, ISO-8859-2, ISO-8859-4, ISO-8895-5, ISO-8859-7, ISO
  -8895-9, ISO-8859-13, ISO-8859-15, ISO-8859-16, windows-1250, windows-1251,
   windows-1257, cp437, cp737, cp850, cp852, cp866, x-cp866-u, x-mac, x-mac-c
  e, x-kam-cs, koi8-r, koi8-u, TCVN-5712, VISCII, utf-8..Connection: Keep-Ali
  ve....                                                                     

T 127.0.0.1:80 -> 127.0.0.1:1599 [AP]
  HTTP/1.1 200 OK..Server: publicfile..Date: Fri, 12 Jul 2002 05:30:01 GMT..L
  ast-Modified: Thu, 11 Jul 2002 19:08:01 GMT..Content-Type: application/x-gz
  ip..Transfer-Encoding: chunked....400..                                    
-

galeon/mozilla headers:
T 127.0.0.1:1596 -> 127.0.0.1:80 [AP]
  GET /debian/dists/woody/main/binary-i386/Packages.gz HTTP/1.1..Host: 127.0.
  0.1..User-Agent: Mozilla/5.0 Galeon/1.2.5 (X11; Linux i686; U;) Gecko/20020
  623 Debian/1.2.5-0.woody.1..Accept: text/xml,application/xml,application/xh
  tml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,i
  mage/gif;q=0.2,text/css,*/*;q=0.1..Accept-Encoding: gzip, deflate, compress
  ;q=0.9..Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66..Keep-Alive: 300
  ..Connection: keep-alive....                                               

T 127.0.0.1:80 -> 127.0.0.1:1596 [AP]
  HTTP/1.1 200 OK..Server: publicfile..Date: Fri, 12 Jul 2002 05:27:30 GMT..L
  ast-Modified: Thu, 11 Jul 2002 19:08:01 GMT..Content-Type: application/x-gz
  ip..Transfer-Encoding: chunked....400..                                    

If you need me to do any further tests just send me the details.

Thanks,
Bob Black
bblack@schlitzed.com
bblack@superiorbroadband.com


-- 
To UNSUBSCRIBE, email to deity-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: