Bug 1025961 - crash with pydoc -k
crash with pydoc -k
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: python (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Bohuslav "Slavek" Kabrda
Branislav Náter
Depends On: 1026209
Blocks: 1026329
  Show dependency treegraph
Reported: 2013-11-02 09:38 EDT by Matěj Cepl
Modified: 2014-06-18 00:23 EDT (History)
2 users (show)

See Also:
Fixed In Version: PyQt4-4.10.1-8.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1026329 (view as bug list)
Last Closed: 2014-06-13 08:22:01 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Matěj Cepl 2013-11-02 09:38:06 EDT
Description of problem:
matej@wycliff: ~$ pydoc -k wraps
Traceback (most recent call last):
  File "/usr/bin/pydoc", line 5, in <module>
  File "/usr/lib64/python2.7/pydoc.py", line 2292, in cli
  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):

How reproducible:

Steps to Reproduce:
1.see above

Actual results:

Expected results:

Additional info:
Comment 2 Bohuslav "Slavek" Kabrda 2013-11-04 03:18:19 EST
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 08:50:09 EST
Fixed in PyQt4 => moving to MODIFIED.
Comment 5 Branislav Náter 2014-04-03 17:24:08 EDT
Root cause has been solved by bz#1026209.

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

# rpm -qa | grep PyQt4

# 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 08:22:01 EDT
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.

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