I am fairly new to this group but I have done some HTTP protocol work a way back. I am currently working on our legacy system which has fairly old Curl v7_26. It is a multithreaded system and one of the obvious problem which is discussed multiple times is discovered during testing - when network is unavailable, Dns resolution is taking longer or timing out and curl perform is crashing( stack trace is below).
As I read, I added code wherever curl_easy_init is called to
curl_easy_setopt(handle, CURLOPT_NOSIGNAL, 1L);
This didn't resolve the issue. So just to be sure, I modified the curl_easy_init and added last line before return as
data->set.no_signal = TRUE;
I expected this to take care of the problem; but still it exists.
Any ideas here please ?
I see there are multiple mails about this and I have similar
#0 0x202c4c4c in ?? ()
#1 0x00240174 in showit (data=<optimized out>, type=<optimized out>, ptr=0xb608cb8c "Curl_getaddrinfo: getaddrinfo(3) failed for :80\n", size=48) at src/sendf.c:677
#2 0x0024038a in Curl_debug (data=data <at> entry=0xb538c838, type=type <at> entry=CURLINFO_TEXT, ptr=0xb608cb8c "Curl_getaddrinfo: getaddrinfo(3) failed for :80\n", ptr <at> entry=0xb608cb74 "\bE\223\254\070\310\070\265\323\003$", size=48, conn=conn <at> entry=0x0) at src/sendf.c:732
#3 0x002403d2 in Curl_infof (data=data <at> entry=0xb538c838, fmt=0xb88e53 "%s: getaddrinfo(3) failed for %s:%d\n") at src/sendf.c:153
#4 0x002427be in Curl_getaddrinfo (conn=conn <at> entry=0xac934508, hostname=hostname <at> entry=0xac94b634 "", port=port <at> entry=80, waitp=waitp <at> entry=0xb608d490) at src/hostip6.c:220
#5 0x0023e052 in Curl_resolv (conn=conn <at> entry=0xac934508, hostname=0xac94b634 "", port=80, entry=entry <at> entry=0xb608d7e8) at src/hostip.c:463
#6 0x0023e0de in Curl_resolv_timeout (conn=conn <at> entry=0xac934508, hostname=<optimized out>, port=<optimized out>, entry=entry <at> entry=0xb608d7e8, timeoutms=timeoutms <at> entry=300000) at src/hostip.c:641
#7 0x0023cdd4 in resolve_server (async=0xb608d944, conn=0xac934508, data=0xb538c838) at src/url.c:4785
#8 create_conn (data=data <at> entry=0xb538c838, in_connect=in_connect <at> entry=0xac9477dc, async=async <at> entry=0xb608d944) at src/url.c:5283
#9 0x0023d61e in Curl_connect (data=data <at> entry=0xb538c838, in_connect=in_connect <at> entry=0xac9477dc, asyncp=asyncp <at> entry=0xb608d944, protocol_done=protocol_done <at> entry=0xb608d941) at src/url.c:5445
#10 0x0023068c in multi_runsingle (multi=multi <at> entry=0xb605ce48, now=..., easy=easy <at> entry=0xac9477d0) at src/multi.c:1057
#11 0x00230e24 in curl_multi_perform (multi_handle=0xb605ce48, running_handles=running_handles <at> entry=0xb606a6d8) at src/multi.c:1753