> On May 13, 2021, at 6:10 AM, Daniel Stenberg <dan...@haxx.se> wrote: > > On Wed, 12 May 2021, Felipe Gasper via curl-library wrote: > >> On a couple of occasions now I’ve chased down segfaults that it turned >> out were happening because a callback was freeing the multi. > >> Is there any kind of “debug mode” in libcurl available that would warn, >> assert, or otherwise complain if something like that happens? I _think_ I >> have a fix in place that will prevent the issue moving forward, but that’s >> what I thought last time I fixed this problem. :-P >> >> If there’s not such a mode available, would that be a reasonable >> feature to add? > > curl_multi_remove_handle doesn't "free the multi" though, so it sounds like > you're mixing something here. > > curl_multi_cleanup() will already not accept getting called from within a > callback: > > https://github.com/curl/curl/blob/dae382a1a1481a94b708c82d5aa9fa7253084160/lib/multi.c#L2555-L2557 > > curl_multi_remove_handle also tries to detect and avoid getting called from > within a callback: > > https://github.com/curl/curl/blob/dae382a1a1481a94b708c82d5aa9fa7253084160/lib/multi.c#L740-L741 > > ... but since you write this, I assume something makes these conditional > checks not be good enough. Can you figure out why? And if so, how would such > an additional "debug check" you speak of work that isn't already checked for?
You know … I neglected to mention before that I’m constrained to use OS-provided curls … which in CentOS 7 means 7.29. So yeah, this problem is already solved; our curl is just too old to have the fix. Yet another justification, though, for why we should build our own curl. :) Thank you! -FG ------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.se/mail/etiquette.html