[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