-
-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Intermittent build failures due to inconsistent redirects on apt.armbian.com #29
Comments
Have you tried |
I had not yet, and just did, without success. I did investigate the state of the various mirrors a bit more, and found that it's just not that some mirrors are less up-to-date than others, but also that some mirrors are actually internally inconsistent (InRelease file checksums not matching the actual files). However, I believe that this internal inconsistency of mirrors is not actually required for the problem described in this issue (inconsistent redirects by apt.armbian.com) to cause issues (just unequal sync between mirrors is needed for this issue to occur). The current (long-standing, already since Feb 1) internally inconsistent mirrors do make this issue easy to reproduce currently. Since the mirror state is a separate issue, I filed that in (what I think is) a more appropriate place: armbian/mirror#7 As I said, I still believe that redirecting different requests to different mirrors (as shown above) by apt.armbian.com is problematic and should be fixed, regardless of the mirror sync issues. |
Hm, I've experienced the same issue and `sudo apt clean´ fixed the checksum mismatch. |
I suspect that the retry just just got you redirected to a different combination of mirrors that did not show the problem (from the looks of it, if you get an up-to-date InRelease file from e.g. imola.armbian.com, then downloading the other files from any other mirror works ok). IOW, it would also have worked if you had just retried and omitted the clean. I think. |
TL;DR: apt.armbian.com redirects to different mirrors for different requests, leading to apt update and build failures.
Not sure if this is the right place for this report, but the repo title seemed appropriate.
Over the last weeks, I've been seeing some intermittent build failures, related to failed apt updates inside the rootfs chroot. Usually it helped to just restart the build, but yesterday they were quite persistent (something like 6 out of 10 attempts failed), so I decided to investigate.
The error I get in
install.log
is:I've also seen 404 errors occasionally, which I suspect are the result of the same underlying issue.
Apt seems to be configured (by default) to use apt.armbian.com, which redirects to some (local?) mirror. However, this redirect is not consistent, in that it seems to decide which mirror to use for each request separately, rather than consistently redirecting the same client (IP) to the same mirror all the time time.
This approach seems to cause a problem when the different mirrors are not completely in sync. What I saw happening, is that the InRelease file is fetched from one mirror, and then the Packages file is fetched from another mirror. If these mirrors are not exactly in sync, the checksums from the InRelease file will not match the Packages file, failing the update and thus the build.
It seems like this should be fixed by adding some stability to the redirection mechanism (i.e. when there are multiple options based on the geolocation, use a hash of the client IP or so to decide on the mirror to use?).
Running
apt -oDebug::Acquire::http=1 update
inside the chroot manually shows the problem clearly. Here's an exerpt, full log at https://gist.github.com/3683adddbd1dbf8dd3e2412e9cd6c034The text was updated successfully, but these errors were encountered: