-
Notifications
You must be signed in to change notification settings - Fork 65
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
Running "charm build" on a limited-IPv6 system is very slow due to connection failures #617
Comments
I'm curious, but what happens if you just charm build uses It may be that ipv6 is legitimately enabled, but not routable, and thus a |
I do have a limited IPv6 VPN setup but it's only to route specific work-related networks, so I can't disable it globally unfortunately. I'd ideally like to have native IPv6 but my ISP just doesn't offer it yet. Running curl is much faster, I'd speculate that it somehow figures out very quickly that IPv6 won't fly here:
|
Oh, I feared as much; doing a quick web search yields things like: https://discuss.dizzycoding.com/force-requests-to-use-ipv4-ipv6/ i.e. it's a problem. Possible solutions are a |
Relevant urllib3 bug possibly: urllib3/urllib3#2055 And, almost certainly: urllib3/urllib3#2030 And, finally, this would actually solve it if it were implmented: Implement Happy Eyeballs to support IPv4/IPv6 combination: urllib3/urllib3#797 Which begs the question: what to do? |
Yeah it's not a straightforward one for sure. I do think displaying e.g. "connecting to x.y.z..." output lines to A
|
For the record, did a re-build today and remembered to wrap it in
Then on a hunch, deactivated my work VPN (which gives me a limited-use IPv6 address), and retried - so in this state, I have a link-local IPv6 address only:
So I have a slightly inconvenient but absolutely worthwhile workaround for now. |
#609 might also be related as well - adding timeouts to the requests calls may reduce the overall time you're seeing (that is with attempts to fetch assets via IPv6 timing out in a shorter period of time). |
Checklist
What version am I running?
I ran the following command:
snap info charm
and got the following ouput:I am using: Ubuntu 22.04 on amd64
Issue/Feature
I expect/expected the following
Running
charm build
on a system with full IPv4 but limited IPv6 connectivity results in a very long wait with no output, even with--debug
set on the command line.Edited to add: I have no native ISP support for IPv6, but my work VPN gives me limited IPv6 connectivity to work networks - but not to the wider IPv6 internet. The problem only appears when connected to that VPN. So this is much more of an edge case than I'd realised when first filing this.
What I got
Using
strace
shows what's actually happening - the tooling is attempting to connect tojuju.github.io
, but is trying each of its fourAAAA
records in turn before falling back to itsA
records, with what seems to be a very long timeout.As a first step, I think it's reasonable for
--debug
to output what site the tooling is trying to reach.Ideally, it would be smart enough to figure out early whether a working IPv6 link to the target is available, and prefer IPv4 if not.
The text was updated successfully, but these errors were encountered: