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

Re: pbuilder error



On Thu, Jul 07, 2016 at 09:09:30AM +0000, Gianfranco Costamagna wrote:
> (this happens with experimental chroot)

(thankfully, apt/experimental has some improvements in terms of error
reporting which help here. Hash sum mismatch messages used to be
borderline useless – now they still are, but are very talkative ;)
That said, I am a bit surprised its installed in your chroot…)


> DISCLAIMER: I have this in apt.conf.d
> cat /etc/apt/apt.conf.d/99fixbadproxy 
> Acquire::http::Pipeline-Depth 0;
> Acquire::http::No-Cache true;
> Acquire::BrokenProxy    true;

(While it might be true, the last option doesn't exist, so no effect)

APT is reasonably good at detecting proxies/servers which mess up
pipelining and disables pipelining automatically then (with a warning),
so I would suggest dropping all these options and see what a 'stock' apt
does. No-Cache /can/ work or its completely ignored as its just a hint
for proxies – it doesn't solve any of your problems through as all
requested files have unique names by now and there is no "old" cache
problem (there are also more of these options with more or less the same
intended effected as in the web everything must be done in a bunch of
incompatible vendor-specific ways… but I digress)


> Ign:12 http://giano.com.dist.unige.it/debian sid/main amd64 Packages 2016-07-06-0904.26.pdiff

Your problem starts with this innocent looking line already, which is
present in both update calls – even in the one ending up working. What
apt is telling you here is that it wanted to do pdiff patching, but
while downloading this patch something bad happened (what exactly is
hard to say without debug options as printing the error message would
counter that the error is ignored, but my guess is hashsum mismatch), so
apt falls back to acquiring the entire file instead of trying to patch
up an old version. In the first update that worked, in your second it
doesn't:


> E: Failed to fetch http://giano.com.dist.unige.it/debian/dists/sid/main/binary-amd64/by-hash/SHA256/360c3be44790ab07f0ed848ade391a698da62b29149f06eff91d2a1c7a3102ac  Hash Sum mismatch
> Hashes of expected file:
> - Checksum-FileSize:7147712 [weak]
> - SHA256:360c3be44790ab07f0ed848ade391a698da62b29149f06eff91d2a1c7a3102ac
> - MD5Sum:164d2e94547a636ee34faacbfc23910f [weak]
> Hashes of received file:
> - SHA256:11ba64db57dc5427a503251f12976052e1cf0d161e299daeea9e1757cb1279eb
> - MD5Sum:d04c25ba2d2c93f72df1d5c9d3f9d0ba [weak]
> - Checksum-FileSize:7107946 [weak]
> Last modification reported: Thu, 07 Jul 2016 02:30:39 GMT
> Release file created at: Thu, 07 Jul 2016 03:24:06 GMT

Interestingly if you truncate the expected file to the size apt got from
the server and calculate hashes for it, you get the ones apt got, so the
proxy/server is sending the correct file, but either it doesn't sent
everything or apt isn't receiving everything. Or something of both…

Please run apt with these options set:
Debug::Acquire::http "true";
Debug::pkgAcquire::Worker "true";
Acquire::Progress::Ignore::ShowErrorText "true";

That causes apt (or to be specific: apts 'http' method) to display the HTTP
request it makes as well as the responses it gets while the second shows the
interprocess communication between apt and its methods (beware, lots of output).
And third causes apt to tell us the error it ignored, just for completeness.

[aka: No need for wireshark or other "hard" debug stuff just yet, There
tends to be an option for everything in apt… so much that some are even
made up and people believe they exist: BrokenProxy from above ;) ]


Best regards

David Kalnischkies

Attachment: signature.asc
Description: PGP signature


Reply to: