New submission from Ben Okopnik <b...@okopnik.com>: Long-standing problem (happens in every Python version I've tested). The usual situation is when invoking Python (and then "help('modules')") or "pydoc modules" in /tmp, but also happens when located anywhere with unreadable subdirs:
ben@Jotunheim:~$ mkdir /tmp/foo; cd /tmp/foo ben@Jotunheim:/tmp/foo$ mkdir bar; sudo chmod 000 bar [sudo] password for ben: ben@Jotunheim:/tmp/foo$ pydoc modules Please wait a moment while I gather a list of all available modules... Traceback (most recent call last): File "/usr/bin/pydoc2.6", line 5, in <module> pydoc.cli() File "/usr/lib/python2.6/pydoc.py", line 2309, in cli help.help(arg) File "/usr/lib/python2.6/pydoc.py", line 1765, in help elif request == 'modules': self.listmodules() File "/usr/lib/python2.6/pydoc.py", line 1886, in listmodules ModuleScanner().run(callback, onerror=onerror) File "/usr/lib/python2.6/pydoc.py", line 1937, in run for importer, modname, ispkg in pkgutil.walk_packages(onerror=onerror): File "/usr/lib/python2.6/pkgutil.py", line 105, in walk_packages for importer, name, ispkg in iter_modules(path, prefix): File "/usr/lib/python2.6/pkgutil.py", line 147, in iter_modules for name, ispkg in iter_importer_modules(i, prefix): File "/usr/lib/python2.6/pkgutil.py", line 211, in iter_modules for fn in os.listdir(path): OSError: [Errno 13] Permission denied: './bar' Proposed patch: Seems like an easy fix. In Python 3.1.2, change line 206 in /usr/lib/python3.1/pkgutil.py from if not modname and os.path.isdir(path) and '.' not in fn: to if not modname and os.path.isdir(path) and '.' not in fn and os.access(path, os.R_OK): Other versions much the same (although the specified line number will probably be different.) Best regards, Ben Okopnik ---------- components: Demos and Tools messages: 134323 nosy: okopnik priority: normal severity: normal status: open title: pydoc modules/help('modules') crash in dirs with unreadable subdirs type: crash versions: Python 2.5, Python 2.6, Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue11914> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com