Curl.perform() never returns

From: Mills, Craig <>
Date: Wed, 8 Oct 2014 22:09:57 +0000

I am working with PycURL and libcURL in an embedded environment. We are using PycURL v.7.19.0, and libcURL v.7.31.0. We are running Python 2.7 on the Windows Compact Embedded 7 hardware.

We are seeing a spurious bug which is very hard to reproduce. We have added logging statements, and what we have found is that sometimes, for some reason, when we make the PycURL call into the perform() method, it just never seems to return from there.

I found a timeout bug (fixed in 7.34.0) at:

...but that seems to be specific to using CurlMulti, and our code is simply using what I understand to be the curl_easy wrapper. We just use pycurl with the call:

c = pycurl.Curl()

We are setting a timeout of 65, but from our debug logs it simply never returns from the c.perform() call.

I am researching how to build our libcurl implementation with debug enabled... so any tips there would be appreciated.


1) Are there other timeout bugs I may have overlooked, which may have been fixed between 7.31 and newest libcURL?

2) Does anyone have suggestions for other things to try?

Thank you so much!

Received on 2014-10-09