-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
IPv6 Socket test failures on Travis #27788
Comments
+1
?+1
?
Yes, that seems right. Though with an error if it wraps all the way around and we may want to skip the privileged ports. |
Actually @vtjnash points out that in order for to happen, literally all ports need to be taken up (since we start the listenany at a random port between 2000 and 4000). It would be good to dump to temporarily change this test to dump out |
I've come across this a lot lately. Some more examples: https://travis-ci.org/JuliaLang/julia/jobs/486248172 [edit: seems like those links are now broken after restarting the travis jobs :-( ] |
Ok after some digging I think this is because GCE (and hence Travis) doesn't support ipv6. Not even on the loopback device :-( To repro this on a linux machine, disable ipv6
Then run the Sockets tests. See also |
... It's more complicated than this as successful Travis jobs also appear to run on the same GCE infrastructure, at least on the face of it. But regardless of that the repro seems solid. |
Yes, we run the inverse of that line to re-enable IPv6 support after TravisCI approximately executes the commands you gave to disable it. That's why the tests usually pass, since stock GCE in the default configuration doesn't fail these tests. It's also why we run with sudo-enabled builds (where we can undo their mistake) and are unable to run in the containerized environments. Line 66 in 566059b
It's not, although it seems like something must be different about those machines. This seems to be a misinformation campaign spread by CI companies (CircleCI makes the same unnecessary claim*). The information in travis-ci/travis-ci#3302 is pretty absurd, since they blame the cloud host, GCE, AWS, etc. for the lack of IPv6 on loopback, but the file that disables it is actually something that they inject into the machine configuration and was not present in the normal GCE environment. * similar discussions on CircleCI include https://discuss.circleci.com/t/ipv6-support/13571/9, https://ideas.circleci.com/ideas/CCI-I-571. Although, IIRC, we stopped using them because we couldn't run the Socket tests there. |
Thanks Jameson. I see you added that Travis tweak in #22986. People saw similar symptoms way back in #13076. Even with the sudo build and the line to re-enable ipv6 it looks like it's sporadically unavailable (at least, turning it off locally gives the exact same error messages which I've seen on these failed builds). |
+1
?
Well since Travis use is discontinued now, I guess we can close this 🎉 |
In https://travis-ci.org/JuliaLang/julia/jobs/396261047, there are two interesting failures in the Sockets tests:
and
My guess is that the
+1
on these lines may result in the invalid port 65536, causing the respective exceptions:julia/stdlib/Sockets/test/runtests.jl
Lines 234 to 237 in bd13437
julia/stdlib/Sockets/src/Sockets.jl
Line 571 in bd13437
The text was updated successfully, but these errors were encountered: