curl / Mailing Lists / curl-library / Single Mail

curl-library

Re: libCurl 7.61.1: no response message received indicating dead connection

From: Francisco Sedano Crippa \(fsedanoc\) via curl-library <curl-library_at_cool.haxx.se>
Date: Fri, 12 Oct 2018 07:55:15 +0000

Hello folks,

I'm also impacted by this issue - Does anybody have any objection if we submit a PR to fix the timer issue Bernd is mentioning?

Thanks,

. .:|:.:|:. Francisco Sedano | CCIE 14859, Tech Lead Software Engineering | CSG Enterprise Access and Services Group (EASG)
 

On 09.10.18, 16:06, "curl-library on behalf of Bernd Mueller (bermuell) via curl-library" <curl-library-bounces_at_cool.haxx.se on behalf of curl-library_at_cool.haxx.se> wrote:

    Hello,
    
    I’m reaching out to you as we saw a functional change in libCurl which might not have been intended or to get advice how to cope with it on application side.
    
    When moving from libCurl version 7.61.0 to 7.61.1 a response message is not received anymore
    in case of ‘dead connection’ (‘stream_error’ in multi.c). Where as we
    received in 7.61.0 a response message with error code 7="Couldn't connect to server”.
    
    It looks like that the reason is the introduction of the state function ‘Curl_init_completed’ for state CURLM_STATE_COMPLETED which stops all the timers by calling ‘Curl_expire_clear’.
    
    In the above mentioned error case
    * “Completed” state is the next state
    * as a result, all timers are stopped (which was not the case in v7.61.0)
    * response message which is created afterwards (https://github.com/curl/curl/blob/432eb5f5c254ee8383b2522ce597c9219877923e/lib/multi.c#L2133,
    with error code indicating the ’timed out’) is never received by the application because of the stopped timers...I assume.
    
    I tried not stopping/clearing the timers in that ‘error’ situation and then we receive on application side the response message with the expected error code in ‘msg->extmsg.data.result’.
    
    Is there a change required on application side to get informed about the failing attempt to send the message in that situation?
    
    We’re using
    - libCurl (7.61.1).
    - multi interface to connect to a server using HTTPS.
    
    thanks a lot for your help,
    Bernd
    
    
    -------------------------------------------------------------------
    Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
    Etiquette: https://curl.haxx.se/mail/etiquette.html

-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2018-10-12