cURL
Haxx ad
libcurl

curl's project page on SourceForge.net

Sponsors:
Haxx

cURL > Mailing List > Monthly Index > Single Mail

curl-tracker Archives

[curl:bugs] #1285 libcurl 7.32 stuck in the mid of communication with re-used HTTPS connection

From: Daniel Stenberg <bagder_at_users.sf.net>
Date: Thu, 26 Sep 2013 17:42:42 +0000

If it would hit a maximum, then you'd get the problem at the same point every time. Do you? How many re-uses do you need to trigger the problem?

If you re-use a connection that keeps open, then there's not even a session ID to re-use but libcurl will re-use the same TCP connection. No matter which way is happening, libcurl has no maximum size of the session ID cache but leaves that to OpenSSL. Does it keep the TCP connections alive and re-use them or does it close them and actually use session ID caching?

Most users re-use connections also over HTTPS so this is a VERY common use-case and still you report this problem and nobody else has. It indicates that the problem is not common and thus my request to get help to repeat it.

When it hangs, at which point in that transfer does it hang? The stack trace shows curl_easy_perform() but how much of that last transfer did it do before it hung?

We didn't do any "major architectural changes" between those two versions. See this link for a high level description of them: http://curl.haxx.se/changes.html#7_24_0

(and thus I suggested bisecting so that you wouldn't have to care about the specific changes but let you have git lead you to the problematic commit)

---
** [bugs:#1285] libcurl 7.32 stuck in the mid of communication with re-used HTTPS connection**
**Status:** open
**Created:** Thu Sep 26, 2013 01:03 PM UTC by Dushyant chaudhary
**Last Updated:** Thu Sep 26, 2013 04:31 PM UTC
**Owner:** Daniel Stenberg
Hi,
We are from unity Connection Team which is a voice mail solution.For Unified messaging our system uses the Curl for Synching the messages from this system to outside clients(like Exchange Servers).
Unity connection subscribes 400 users by making the use of curl library and  sends the request out to exchange servers.
While sending connection make the reuse of the curl sessions being made originally.
We have single thread that continuosly sends out the request out to CURL for 400 users subscription.
But for the case of SSL ,CURL stucks in between the communication and doesnot send the request to exchange server.
We have some time out mechanism for 30 seconds in which Unity Connection times out ,if curl doesnot send request and respond back ,that is why we are  continuosly get the timeout erors at our side.
We were earlier using 7.22 in which things are working fine 
Also with 7.23 and 7.23.1 everything works fine
But for 7.24 till 7.32 Curl version releases we are getting these errors
we did some search on the CURL site ,and observed that there were some bug fixes done related to max ssl sessions and SHAREDSESSIONLOCK 
 
we have tracked these changes in your source code at path lib
1)lib/url.c
2)lib/sslgen.c
3)lib/ssluse.c
we also took the gcore for the process and we are able to see the curl stucks in the following stack
Following flow where thread got blocked in CURL:
Thread 17 (Thread 0x6547b70 (LWP 10819)):
#0  0x00e01430 in __kernel_vsyscall ()
#1  0x00f6cca6 in poll () from /lib/libc.so.6
#2  0x00d54487 in Curl_poll () from /opt/cisco/connection/lib/libcurl_cisco.so.4
#3  0x00d4fa0c in curl_multi_wait () from /opt/cisco/connection/lib/libcurl_cisco.so.4
#4  0x00d499bc in curl_easy_perform () from /opt/cisco/connection/lib/libcurl_cisco.so.4
#5  0x0022ce95 in CCsHttpRequest::Submit(long&, TCsAutoArray<char>&, unsigned int&) () from /opt/cisco/connection/lib/libCsHttp.so
#6  0x0022aebb in CCsHttpRequest::Submit(long&, ICsString&) () from /opt/cisco/connection/lib/libCsHttp.so
#7  0x00272591 in CCsEwsClient::makeHttpRequest(CCsString const&, CCsString const&, TCsAutoPtr<xercesc_2_7::SAX2XMLReader>&, CCsString const&, std::vector<CCsString, std::allocator<CCsString> >&, long&, CCsEwsCapture*, CCsString*) () from /opt/cisco/connection/lib/libCsEws.so
#8  0x0027343e in CCsEwsClient::doCmd(xercesc_2_7::ContentHandler&, CCsString const&, CCsString const&, ICsString&, CCsEwsCapture*) () from /opt/cisco/connection/lib/libCsEws.so
#9  0x00271740 in CCsEwsClient::doCmd(xercesc_2_7::ContentHandler&, CCsString const&, ICsString&, CCsEwsCapture*) () from /opt/cisco/connection/lib/libCsEws.so
#10 0x002715c0 in CCsEwsClient::doCmd(xercesc_2_7::ContentHandler&, CCsString const&, ICsString&) () from /opt/cisco/connection/lib/libCsEws.so
I would request to analyze this issue for SSL whereas for non SSL everything works fine
Thanks and Regards
Dushyant
---
Sent from sourceforge.net because curl-tracker@cool.haxx.se is subscribed to https://sourceforge.net/p/curl/bugs/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/curl/admin/bugs/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.
Received on 2013-09-26

These mail archives are generated by hypermail.

donate! Page updated May 06, 2013.
web site info

File upload with ASP.NET