Bug 1025961

Summary: crash with pydoc -k
Product: Red Hat Enterprise Linux 7 Reporter: Matěj Cepl <mcepl>
Component: pythonAssignee: Bohuslav "Slavek" Kabrda <bkabrda>
Status: CLOSED CURRENTRELEASE QA Contact: Branislav Náter <bnater>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: bkabrda, bnater
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: PyQt4-4.10.1-8.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1026329 (view as bug list) Environment:
Last Closed: 2014-06-13 12:22:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1026209    
Bug Blocks: 1026329    

Description Matěj Cepl 2013-11-02 13:38:06 UTC
Description of problem:
matej@wycliff: ~$ pydoc -k wraps
Traceback (most recent call last):
  File "/usr/bin/pydoc", line 5, in <module>
    pydoc.cli()
  File "/usr/lib64/python2.7/pydoc.py", line 2292, in cli
    apropos(val)
  File "/usr/lib64/python2.7/pydoc.py", line 1992, in apropos
    ModuleScanner().run(callback, key, onerror=onerror)
  File "/usr/lib64/python2.7/pydoc.py", line 1973, in run
    module = loader.load_module(modname)
AttributeError: 'NoneType' object has no attribute 'load_module'

Version-Release number of selected component (if applicable):
python-libs-2.7.5-8.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.see above
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Bohuslav "Slavek" Kabrda 2013-11-04 08:18:19 UTC
The problem:
- This only happens when PyQt4 is installed.
- On line 1962, loader is instantiated by importer.find_module. For "PyQt4.uic.pyuic", importer.find_module returns None, which then causes the AttributeError.
- File /usr/lib64/python2.7/site-packages/PyQt4/uic/pyuic.py is a symlink to /usr/bin/pyuic4, which lives in PyQt4-devel.
- If PyQt4-devel is not installed, pyuic.py is unimportable, which makes pydoc fail.

IMO this is a problem in packaging of PyQt4, since pyuic.py file should be in PyQt4-devel package, not in the main PyQt4 package where it's unusable. I'll open a bug for PyQt4.

Comment 3 Bohuslav "Slavek" Kabrda 2014-01-14 13:50:09 UTC
Fixed in PyQt4 => moving to MODIFIED.

Comment 5 Branislav Náter 2014-04-03 21:24:08 UTC
Root cause has been solved by bz#1026209.

Now, traceback doesn't occur if PyQt4-devel is not installed:

# rpm -qa | grep PyQt4
PyQt4-dbus-4.10.1-12.el7.noarch
PyQt4-4.10.1-12.el7.x86_64

# pydoc -k wraps
ldap.functions - functions.py - wraps functions of module _ldap
ldap.ldapobject - ldapobject.py - wraps class _ldap.LDAPObject
#

Comment 6 Ludek Smid 2014-06-13 12:22:01 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.