[UG] curl error 43 with newer libcurl

Alexander Todorov atodorov at redhat.com
Thu Nov 28 13:59:18 UTC 2013


Hi folks,
I have two environments where the same code works fine in one of them and fails 
in the other:

The working environment is RHEL 6.5 with:

curl-7.19.7-37.el6_4.x86_64
python-pycurl-7.19.0-8.el6.x86_64
libcurl-7.19.7-37.el6_4.i686
libcurl-7.19.7-37.el6_4.x86_64
libcurl-devel-7.19.7-37.el6_4.x86_64


The failing one is Amazon Linux (EC2 instance) with:

python-pycurl-7.19.0-8.7.amzn1.x86_64
libcurl-7.29.0-11.39.amzn1.x86_64
libcurl-devel-7.29.0-11.39.amzn1.x86_64
curl-7.29.0-11.39.amzn1.x86_64


The code on RHEL gives:

$ python
Python 2.6.6 (r266:84292, Sep  4 2013, 07:46:00)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
 >>> from urlgrabber.grabber import URLGrabber
 >>> g = URLGrabber(reget=None)
 >>> 
g.urlgrab('https://s3.amazonaws.com/production.s3.rubygems.org/gems/columnize-0.3.6.gem', 
'/tmp/columnize.gem')
'/tmp/columnize.gem'
 >>>



While on Amazon Linux:

$ python
Python 2.6.9 (unknown, Oct 29 2013, 19:58:13)
[GCC 4.6.3 20120306 (Red Hat 4.6.3-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
 >>> from urlgrabber.grabber import URLGrabber
 >>> g = URLGrabber(reget=None)
 >>> 
g.urlgrab('https://s3.amazonaws.com/production.s3.rubygems.org/gems/columnize-0.3.6.gem', 
'/tmp/columnize.gem')
Traceback (most recent call last):
   File "<console>", line 1, in <module>
   File 
"/home/celeryd/.virtualenvs/difio/lib/python2.6/site-packages/urlgrabber/grabber.py", 
line 976, in urlgrab
     return self._retry(opts, retryfunc, url, filename)
   File 
"/home/celeryd/.virtualenvs/difio/lib/python2.6/site-packages/urlgrabber/grabber.py", 
line 880, in _retry
     r = apply(func, (opts,) + args, {})
   File 
"/home/celeryd/.virtualenvs/difio/lib/python2.6/site-packages/urlgrabber/grabber.py", 
line 962, in retryfunc
     fo = PyCurlFileObject(url, filename, opts)
   File 
"/home/celeryd/.virtualenvs/difio/lib/python2.6/site-packages/urlgrabber/grabber.py", 
line 1056, in __init__
     self._do_open()
   File 
"/home/celeryd/.virtualenvs/difio/lib/python2.6/site-packages/urlgrabber/grabber.py", 
line 1307, in _do_open
     self._set_opts()
   File 
"/home/celeryd/.virtualenvs/difio/lib/python2.6/site-packages/urlgrabber/grabber.py", 
line 1161, in _set_opts
     self.curl_obj.setopt(pycurl.SSL_VERIFYHOST, opts.ssl_verify_host)
error: (43, '')
 >>>



In both environments urlgrabber==3.9.1 and the code is executed in a virtualenv 
(same packages, same codebase).  As far as I can see in both environments 
python-pycurl is nearly the same while libcurl version is quite different.

According to curl's docs:

CURLE_BAD_FUNCTION_ARGUMENT (43) - Internal error. A function was called with a 
bad parameter.



Can you take a look at this or advise what may be going wrong?


--
Alex




More information about the Yum-devel mailing list