On 07/30/2013 09:14 PM, Zhigang Wang wrote:
Hi,

When importing rpm, this test (test_urlgrabber.py) doesn't work:

#!/usr/bin/env python

import os
import rpm

import urlgrabber


def test():
     option = {
         'copy_local': 1,
         'ssl_verify_peer': False,
         'ssl_verify_host': False,
     }
     urlgrabber.urlgrab('https://zhigang.us.oracle.com/vm/vm.cfg', 
'/tmp/vm.cfg',
**option)


def main():
     pid = os.fork()
     if pid:
         return
     test()


if __name__ == '__main__':
     main()


$ ./test_urlgrabber.py
[zhigang@zhigang tmp]$ Traceback (most recent call last):
   File "./test_urlgrabber.py", line 26, in <module>
     main()
   File "./test_urlgrabber.py", line 22, in main
     test()
   File "./test_urlgrabber.py", line 15, in test
     urlgrabber.urlgrab('https://zhigang.us.oracle.com/vm/vm.cfg', 
'/tmp/vm.cfg',
**option)
   File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 694, in
urlgrab
     return default_grabber.urlgrab(url, filename, **kwargs)
   File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1130, in
urlgrab
     return _run_callback(opts.failfunc, opts)
   File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 986, in
_run_callback
     return cb(obj)
   File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 980, in
_do_raise
     raise obj.exception
urlgrabber.grabber.URLGrabError: [Errno 14] problem making ssl connection

If we don't import rpm, everything works fine.

It may related to this: 
http://article.gmane.org/gmane.comp.web.curl.library/38760

Maybe we need to fix it in rpm.

This bug is fatal when we use urlgrabber in a forking handler.

This is tested on RHEL6.4.

Please help to give some adverse on fixing it.

Probably urlgrabber and rpm fighting over the same global NSS context. Newer rpm versions use a private NSS context with NSS versions which support it:
http://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=5ecfdcea4e80e58f133ffddd69130ee8df28b2ac

        - Panu -

_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel

Reply via email to