Bug 1132089 - [abrt] yum: grabber.py:1161:_set_opts:error: (43, 'CURLOPT_SSL_VERIFYHOST no longer supports 1 as value!')
Summary: [abrt] yum: grabber.py:1161:_set_opts:error: (43, 'CURLOPT_SSL_VERIFYHOST no ...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: 20
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Packaging Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL: https://retrace.fedoraproject.org/faf...
Whiteboard: abrt_hash:035ee4cbed07ac0094180d00109...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-08-20 16:03 UTC by Rick Kasten
Modified: 2015-01-06 15:31 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-01-06 15:31:51 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: backtrace (4.75 KB, text/plain)
2014-08-20 16:03 UTC, Rick Kasten
no flags Details
File: dso_list (85 bytes, text/plain)
2014-08-20 16:03 UTC, Rick Kasten
no flags Details
File: environ (163 bytes, text/plain)
2014-08-20 16:03 UTC, Rick Kasten
no flags Details

Description Rick Kasten 2014-08-20 16:03:39 UTC
Version-Release number of selected component:
yum-3.4.3-152.fc20

Additional info:
reporter:       libreport-2.2.3
cmdline:        /usr/bin/python /usr/bin/yum check-update
executable:     /usr/bin/yum
kernel:         3.15.10-200.fc20.x86_64
runlevel:       N 5
type:           Python
uid:            0

Truncated backtrace:
#1 _set_opts in /usr/lib/python2.7/site-packages/urlgrabber/grabber.py:1161
#2 _do_open in /usr/lib/python2.7/site-packages/urlgrabber/grabber.py:1307
#3 __init__ in /usr/lib/python2.7/site-packages/urlgrabber/grabber.py:1056
#4 retryfunc in /usr/lib/python2.7/site-packages/urlgrabber/grabber.py:962
#5 _retry in /usr/lib/python2.7/site-packages/urlgrabber/grabber.py:880
#6 urlgrab in /usr/lib/python2.7/site-packages/urlgrabber/grabber.py:976
#7 _getMetalink in /usr/lib/python2.7/site-packages/yum/yumRepo.py:888
#8 <lambda> in /usr/lib/python2.7/site-packages/yum/yumRepo.py:915
#9 _baseurlSetup in /usr/lib/python2.7/site-packages/yum/yumRepo.py:818
#10 _geturls in /usr/lib/python2.7/site-packages/yum/yumRepo.py:872

Comment 1 Rick Kasten 2014-08-20 16:03:41 UTC
Created attachment 928875 [details]
File: backtrace

Comment 2 Rick Kasten 2014-08-20 16:03:42 UTC
Created attachment 928876 [details]
File: dso_list

Comment 3 Rick Kasten 2014-08-20 16:03:43 UTC
Created attachment 928877 [details]
File: environ

Comment 4 Valentina Mukhamedzhanova 2014-08-20 16:15:16 UTC
Hello, you are using python-urlgrabber 3.9.1, this issue is fixed in later releases.

Comment 5 Rick Kasten 2014-08-25 14:31:37 UTC
No, I am using 3.10.1 

# rpm -qi python-urlgrabber-3.10.1-0.fc20.noarch
Name        : python-urlgrabber
Version     : 3.10.1
Release     : 0.fc20
Architecture: noarch
Install Date: Fri 20 Jun 2014 11:12:31 PM EDT

Comment 6 Rick Kasten 2014-08-25 16:08:50 UTC
This issue was caused by pip. Consider the following (I cut some of this output short for the sake of concise reporting, but I now think I may have left out critical information):

#####
From /usr/lib/python2.7/site-packages/urlgrabber/grabber.py:
   1155         # ssl options
   1156         if self.scheme == 'https':
   1157             if opts.ssl_ca_cert: # this may do ZERO with nss  according to curl docs
   1158                 self.curl_obj.setopt(pycurl.CAPATH, opts.ssl_ca_cert)
   1159                 self.curl_obj.setopt(pycurl.CAINFO, opts.ssl_ca_cert)
   1160             self.curl_obj.setopt(pycurl.SSL_VERIFYPEER, opts.ssl_verify_peer)
   1161             self.curl_obj.setopt(pycurl.SSL_VERIFYHOST, opts.ssl_verify_host)
   1162             if opts.ssl_key:
   1163                 self.curl_obj.setopt(pycurl.SSLKEY, opts.ssl_key)
   1164             if opts.ssl_key_type:
   1165                 self.curl_obj.setopt(pycurl.SSLKEYTYPE, opts.ssl_key_type)
   1166             if opts.ssl_cert:
   1167                 self.curl_obj.setopt(pycurl.SSLCERT, opts.ssl_cert)
   1168             if opts.ssl_cert_type:
   1169                 self.curl_obj.setopt(pycurl.SSLCERTTYPE, opts.ssl_cert_type)
   1170             if opts.ssl_key_pass:
   1171                 self.curl_obj.setopt(pycurl.SSLKEYPASSWD, opts.ssl_key_pass)

$ rpm -qi python-pycurl-7.19.3-1.fc20.x86_64
Name        : python-pycurl
Version     : 7.19.3
Release     : 1.fc20
Architecture: x86_64
Install Date: Thu 13 Mar 2014 09:39:03 PM EDT

$ pip show pycurl
---
Name: pycurl
Version: 7.19.5
Location: /usr/lib64/python2.7/site-packages
Requires: 

$ pip uninstall pycurl   # For package information only
Uninstalling pycurl:
  /usr/lib64/python2.7/site-packages/curl/__init__.py
  /usr/lib64/python2.7/site-packages/curl/__init__.pyc
  /usr/lib64/python2.7/site-packages/pycurl-7.19.5-py2.7.egg-info
  /usr/lib64/python2.7/site-packages/pycurl.so

$ rpm -ql python-pycurl-7.19.3-1.fc20.x86_64
/usr/lib64/python2.7/site-packages/curl
/usr/lib64/python2.7/site-packages/curl/__init__.py
/usr/lib64/python2.7/site-packages/curl/__init__.pyc
/usr/lib64/python2.7/site-packages/curl/__init__.pyo
/usr/lib64/python2.7/site-packages/pycurl-7.19.3-py2.7.egg-info
/usr/lib64/python2.7/site-packages/pycurl.so
#####

So clearly 'pip pycurl' and python-pycurl are stepping on each other's toes...

#####
$ pip uninstall pycurl
  Successfully uninstalled pycurl

$ yum update
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named pycurl
#####

At this point, `yum update` continued to fail with the same exact error as reported. I reinstalled python-pycurl (`rpm -Uvh --verbose --replacepkgs python-pycurl-7.19.3-1.fc20.x86_64.rpm`), but `yum update` continued to fail with the same exact error. So I reinstalled python-urlgrabber (`rpm -Uvh --verbose --replacepkgs python-urlgrabber-3.10.1-0.fc20.noarch.rpm`), and now `yum update` works.

I'm not sure where 'pip pycurl' is stepping on python-urlgrabber, but it seems to me that that is where the issue lies.

Comment 7 Rick Kasten 2014-08-25 16:33:19 UTC
Reinstalling 'pip pycurl' did not reintroduce the problem...


Note You need to log in before you can comment on or make changes to this bug.