-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
Curl 8.12 access violation with c-ares when HTTPS-RR enabled #16216
Comments
Can you figure out why your build has |
Ah right, because you have enabled this experimental feature. It is a bug indeed. I think I have a fix for it in #16219 |
Thx @bagder for your feedback! Fyi:
available to so tests and qualifications ;) |
Then you're running my draft pull request code. I would not recommend it. |
It was only for testing purpose on my use-case ;) |
@bagder But found a strange regression between 8.11:When I invoke libcurl throught php (8.4.4) and set OPTS with
EDIT digging a bit more one last one, might be related to a PHP bug (see php/php-src#17610) |
Either way, it is a different problem so we don't deal with it in this issue. |
Hi @bagder and sorry for some confusion as an other issue on php curl_setopt_array() is mixed in my 8.12 testing & reporting... I found an another change (regression?) might be linked to this issue but fully related to curl 8.11.1 > 8.12 upgrade To summarize when having
|
So now you want to mention a third issue here? If you think it is a (different) curl issue I really think you should create a new issue here with all the details. You can't expect us to work on PHP issues. |
To be clear & brief: 2 regressions observed fully related to curl 8.12 (compared to 8.11.1) having
|
Please submit one issue per problem. This particular issue is about a HTTPS-RR + threaded-resolver related problem. |
On the line with the |
BTW, libcurl returns error when |
Ok ok... I think that's the case
Yes,
Understand but why libcurl 8.11.1 did not returns error when |
Reported-by: nono303 on github Fixes #16216
Does #16244 mitigate the problem for you? |
Yes as there is no more core-dump with acces violation
|
But now you're not longer testing with the same build config so it's not really confirming that the problem is gone. You had c-ares + threaded-resolver + httpsrr enabled when it first happened.
I think that's a deflection and a problem with your build or something. Go back to your original build that did not cause this problem and if you apply #16244, it is not a reason for the thread to suddenly fail. |
with unchanged original build
|
Ah, now I suspect it is the ares_init that fails. Let me extend the PR... |
Try the PR again now with the extra adjustment. |
better at c190db9 but have a new core dump
timediff_t curlx_tvtoms(struct timeval *tv)
{
return (tv->tv_sec*1000) + (timediff_t)(((double)tv->tv_usec)/1000.0);
} identifier "tv" is undefined
int Curl_ares_getsock(struct Curl_easy *data,
ares_channel channel,
curl_socket_t *socks) identifier "channel" is undefined
|
Right, I need to make it deal with a "broken" c-ares channel all the way. Added a commit. Many thanks for your patience and testing. |
When the c-ares setup fails and we get a NULL channel, the resolve still continues and we just need to survive it and just not get any HTTPS RR. Reported-by: nono303 on github Fixes #16216
Thanks for confirming @nono303 💚 |
Hi,
I've just compiled and tested curl 8.12 and have an Access violation related to c-ares.
This issue was not present on 8.11.1
⏩ use case :
curl -v https://www.google.com/
and
<?php curl_exec(curl_init("https://www.google.com/")); ?>
✅ when compiling with
-DENABLE_ARES=OFF
: all works🔴 when compiling with
-DENABLE_ARES=ON
: I have this exceptionI expected the following
No response
curl/libcurl version
8.12.0
operating system
Windows 11 24h2 x64
-- Using CMake version 3.31.5
-- curl version=[8.12.0-DEV]
-- The C compiler identification is MSVC 19.42.34438.0
The text was updated successfully, but these errors were encountered: