cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: http/2 GET occasional hang

From: Francisco Moraes <francisco.moraes_at_gmail.com>
Date: Thu, 3 Dec 2015 14:44:53 -0500

I am still seeing this issue but I believe it only occurs when the
Content-Length header is not present. My attempts to recreate the issue
when the Content-Length header is present never hit the issue.

Can you attempt to recreate with the server not sending the
Content-Length in the response? I can usually see a hang when repeating
the command in a loop. It takes about 1 minute for the connection to be
closed even though the last DATA frame was properly marked with
END_STREAM flag.

Let me know if there is anything I can do to help recreate it.

Francisco

On 11/30/2015 4:38 PM, Tim Rühsen wrote:
> Not reproducible here (Debian unstable, amd64) with curl 7.45 and libnghttp
> 1.4.0.
>
> Tim
>
> Am Montag, 30. November 2015, 12:51:54 schrieb Francisco Moraes:
>> I've used a large XML file such as the one from here:
>>
>> http://dbis.informatik.uni-freiburg.de/content/projects/GCX/dl/sources/aucti
>> on.xml
>>
>> And used curl like this:
>>
>> ./curl --http2 --tcp-nodelay -X GET http://$HOST:$PORT/auction.xml
>>
>> When the issue occurs, I see the following output from curl:
>>
>> % Total % Received % Xferd Average Speed Time Time Time
>> Current
>> Dload Upload Total Spent Left Speed
>> 100 2261k 0 2261k 0 0 37594 0 --:--:-- 0:01:01
>> --:--:-- 0curl: (56) Unexpected EOF
>>
>> Note that the transfer is 100% complete but for some reason curl
>> didn't think it was complete. Does it wait for the connection to be
>> closed? It has received all the data correctly as I was able to confirm
>> that via --trace-ascii option, so I don't know why it has not closed the
>> connection as expected.
>>
>> Francisco
>>
>> On 11/30/2015 12:09 PM, Daniel Stenberg wrote:
>>> On Mon, 30 Nov 2015, Francisco Moraes wrote:
>>>> I am testing my HTTP/2 server and I am getting an occasional hang
>>>> when transferring a 2M file using http to http/2 upgrade. I've done a
>>>> packet capture and I see that the data has been sent out completely
>>>> by the server and the last DATA frame is marked with end stream flag,
>>>> but curl seems to hang (version 7.44.0).
>>>>
>>>> Were there any known issues with that version? I have not been able
>>>> to recreate the issue with the trace file or verbose flag though.
>>>>
>>>> Any thoughts?
>>> I can't recall any such bugfix, even if we've done a few changes to
>>> the http2 code since that version. Possibly your nghttp2 version could
>>> also be involved.
>>>
>>> Is there a way for us to try to reproduce your case?
>> -------------------------------------------------------------------
>> List admin: http://cool.haxx.se/list/listinfo/curl-library
>> Etiquette: http://curl.haxx.se/mail/etiquette.html

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2015-12-03