I am also experiencing problems when installing from home, which is an IPv6 connection.
e.g.:
warning: unable to download 'https://cache.nixos.org/nar/11gcpmqadnwk1s8q0v5ygh7v497fdx4ms3szihq6px4fbf60wzkr.nar.xz': HTTP error 200 (curl error: Failure when receiving data from the peer); retrying in 311 ms
warning: unable to download 'https://cache.nixos.org/nar/1mx1gwd4srdqwnipp94zv0cax0mhbyzjhvhfqvppr2zpl68nfac9.nar.xz': HTTP error 200 (curl error: Failure when receiving data from the peer); retrying in 342 ms
warning: unable to download 'https://cache.nixos.org/nar/080240p3cbs25znrv9bcfvxn9cmv4q8zv20bfxh4kap6hwrc1jgk.nar.xz': HTTP error 200 (curl error: Failure when receiving data from the peer); retrying in 327 ms
As of January 2019 this problem still persists, however these errors are not resolving themselves as for others. These packages are exclusively .nar files, all other archives from nix.cache appear to copy without problem.
I have the same issue. From reading this thread I gather that there’s no solution/workaround for this available? I’m not able to upgrade my system, which is a real bummer.
I’ve been working with Fastly support and have made a configuration change which should eliminate the 503 problem. They’ve told me a lot of the 503 errors are due to a low connect timeout between Fastly and S3. I’ve changed this value from 1000ms to 2000ms. We’ll start with this change and see how the number of reports over time changes.
To my (limited) understanding, IPv6 packages are discarded if their MTU is too big for any unit in the chain. This happens normally in conjunction with an ICMP packet, which tells the sender too lower the MTU and resend. If ICMP pakets are filtered, this won’t work. But, as one stream of packets is not taking always the same route, sometimes the MTU is not too big for any unit, so that the packet will be delivered. On my university we had quiet a lot of problems with IPv6; on the one hand the universities firewall filtered some ICMP packages (which basically breaks IPv6), on the other hand some consumer grade routers filtered them too.
For what it’s worth, I get the same error when I try to update my machine on the connection to my apartment, but using VPN connected via my university the errors go away. My suspicion is that Fastly is rate limiting certain IP-ranges. I also get the same errors on GitHub occasionally, and using a VPN solves them. Somewhat obnoxious, but given that I live in a student city and share the connection with a few thousand others I can certainly see why it happens.
I still have this problem as well. It started happening again about a week ago and has been continuous since then. I’ve tried nixos-rebuild with --keep-going multiple times but I am completely unable to update.
My particular errors are in this form (curl error: Timeout was reached):
warning: unable to download 'https://cache.nixos.org/nar/1zx76jalwg9l9pp5bqhpd501v77qba05jmalkf6ba78mwgn3czyn.nar.xz': HTTP error 200 (curl error: Timeout was reached); retrying in 309 ms
warning: unable to download 'https://cache.nixos.org/nar/1d9s35nbv1rmciigribbmrc1px1mfzic1ryyx01cp9p301fnm542.nar.xz': HTTP error 200 (curl error: Timeout was reached); retrying in 538 ms
warning: unable to download 'https://cache.nixos.org/nar/1fza2a0vqqqb221m1d167iz9j36k30nkbp0hz61ayiv46dmcjrrv.nar.xz': HTTP error 200 (curl error: Timeout was reached); retrying in 653 ms
Strange. After it was consistently failing for a week, I just tried manually downloading the NARs with wget and curl and both worked - and then my nixos-rebuild also worked after that. I also experimented with running it with -j1, but it seems to be working without that.