[New-bugs-announce] [issue16730] _fill_cache in _bootstrap.py crashes without directory execute permissions

David Pritchard report at bugs.python.org
Wed Dec 19 15:55:01 CET 2012


New submission from David Pritchard:

In importlib/_bootstrap.py, there is a function _fill_cache which crashes when you try to run Python in any environment that is so restricted that write permissions are not allowed. You get a trace like:

Traceback (most recent call last):
  In line:
    [the import statement]
  File "<frozen importlib._bootstrap>", line 1558, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1516, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1470, in _find_module
  File "<frozen importlib._bootstrap>", line 1305, in find_module
  File "<frozen importlib._bootstrap>", line 1284, in _get_loader
  File "<frozen importlib._bootstrap>", line 1356, in find_loader
  File "<frozen importlib._bootstrap>", line 1392, in _fill_cache
PermissionError: [Errno 13] Permission denied: '[the directory name]'

This was not an issue when I was using Python 3.2 and I suspect it has to do with the OS error refactoring. I believe it can be fixed with a two-line patch, attached. (Sorry if it is the wrong format, it's the first one I've submitted.) The patch simply treats the case of PermissionError the same was as it does when there is a FileNotFoundError. I've tested the patch and it fixes the problem.

----------
components: Interpreter Core
files: _bootstrap.py.patch
keywords: patch
messages: 177745
nosy: David.Pritchard
priority: normal
severity: normal
status: open
title: _fill_cache in _bootstrap.py crashes without directory execute permissions
versions: Python 3.3
Added file: http://bugs.python.org/file28359/_bootstrap.py.patch

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue16730>
_______________________________________


More information about the New-bugs-announce mailing list