Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1187531
Summary: | curl occasionally fails to connect on dual-stacked hosts | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Rupesh Patel <rupatel> |
Component: | curl | Assignee: | Kamil Dudka <kdudka> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 21 | CC: | kdudka, paul |
Target Milestone: | --- | Keywords: | Patch |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | curl-7.37.0-13.fc21 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-02-28 10:23:20 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Rupesh Patel
2015-01-30 11:07:51 UTC
Before my fedora takes another updates, here are the libc rpms currently installed. [rupesh@rupesh ~]$ rpm -qa | grep glibc glibc-headers-2.20-7.fc21.x86_64 glibc-common-2.20-7.fc21.x86_64 glibc-devel-2.20-7.fc21.x86_64 glibc-2.20-7.fc21.x86_64 glibc-2.20-7.fc21.i686 [rupesh@rupesh ~]$ While trying to debug it, I hit yet another problem of the Happy Eyeballs implementation in libcurl. If the protocol versions are mixed in the DNS response (IPv6 -> IPv4 -> IPv6), it sometimes skips the IPv4 address altogether. This is caused by the tricky list-traversing algorithm in trynextip(), which somehow assumes that the addresses in the list are grouped by protocol version. Otherwise, the addresses skipped by the inner loop can be left behind without actually trying them out. The problem described in comment #0 is orthogonal to this: If the last address in the second protocol family fails, it makes the curl handle fail immediately. We need to make it wait for already running connection attempt(s) in the first protocol family. patches proposed upstream: http://article.gmane.org/gmane.comp.web.curl.library/44949 http://article.gmane.org/gmane.comp.web.curl.library/44948 upstream commits: https://github.com/bagder/curl/compare/5d87b1f22c...e08a12dab1 fixed in curl-7.40.0-3.fc23 and curl-7.40.0-2.fc22 curl-7.37.0-13.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/curl-7.37.0-13.fc21 Package curl-7.37.0-13.fc21: * should fix your issue, * was pushed to the Fedora 21 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing curl-7.37.0-13.fc21' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2015-2526/curl-7.37.0-13.fc21 then log in and leave karma (feedback). curl-7.37.0-13.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report. |