-
-
Notifications
You must be signed in to change notification settings - Fork 6.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
bundle collision when using the same proxy for two remotes #3951
Comments
Only HTTP proxy use where multiple host names can be used over the same connection should use the proxy host name for bundles. Reported-by: Tom van der Woerdt Fixes #3951
I didn't manage to reproduce your symptoms exactly, but I found this issue that I think could be one that causes these problems for you. Let's start out trying this at least. See #3955 |
Hm, I don't think #3955 will fix this, or at least not the issue I started out with, as it didn't involve a proxy at all... (edit: github issue has a proxy listed, but the bug I originally started debugging was with connections to localhost, no proxy, but hard to replicate outside of my specific environment) Will try the patch when I'm near a compiler, and report back. |
No, if you make it happen without proxy, #3955 will not change anything for you... |
Beautiful. #3955 resolves the problem as reproducible using the code in this issue. However, it turns out that during test minimization yesterday, I hit a different bug and then started minimizing towards that instead. 😆 🎉 I reported a different bug than I was experiencing. So let's try this again... here's a gist trying to reproduce the issue I was originally having. https://gist.github.com/TvdW/f4815f8080d9dc30daa5d74b1f878dae There's a nginx server running on 127.0.0.1, listening on port 80 for http/1.1, and on port 81 for http/2 (no TLS on either). I guess a simple nginx config to reproduce would be along the lines of
Full log: https://gist.github.com/TvdW/37f7e01bf7b3b8763557d0a1c204379f |
Ah, ok. Would you mind submitting this as a new issue as then we can consider #3955 a fix of this and I can work on this new one separately? |
I did this
https://gist.github.com/TvdW/bea189b3926993fff584471457350d1d
"Bad file descriptor" after a few requests. Seems to happen when mixing HTTP/1.1 and HTTP/2 in the same
multi
.It looks like the fd gets closed while a request is still waiting for a response. A new connection may be opened, reusing the same fd, making it a valid file descriptor once again. curl may then issue a new request on the reused fd, but when reading the response could become available to the original request. Since the connection is not closed afterwards, the second request never finishes and times out.
(To be clear, that's not speculation: I've actually seen several responses arrive for the wrong request, and a lot of timeouts.)
Seems to be a new bug in 7.65.0, 7.64.1 did not have it.
I expected the following
All requests should happily execute and the program should finish. There should be no responses arriving for the wrong request either.
curl/libcurl version
operating system
CentOS 7 with custom-built curl
The text was updated successfully, but these errors were encountered: