Message253551
When there is a file called "sys" in the local directory of a python script and warning.warn is called with an invalid stacklevel, python tries to import that file and throws an error like the following:
>>> import warnings
>>> warnings.warn("foo", Warning, stacklevel=2)
Traceback (most recent call last):
File "/usr/lib/python3.5/tokenize.py", line 392, in find_cookie
line_string = line.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 24: invalid start byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.5/warnings.py", line 18, in showwarning
file.write(formatwarning(message, category, filename, lineno, line))
File "/usr/lib/python3.5/warnings.py", line 26, in formatwarning
line = linecache.getline(filename, lineno) if line is None else line
File "/usr/lib/python3.5/linecache.py", line 16, in getline
lines = getlines(filename, module_globals)
File "/usr/lib/python3.5/linecache.py", line 47, in getlines
return updatecache(filename, module_globals)
File "/usr/lib/python3.5/linecache.py", line 136, in updatecache
with tokenize.open(fullname) as fp:
File "/usr/lib/python3.5/tokenize.py", line 456, in open
encoding, lines = detect_encoding(buffer.readline)
File "/usr/lib/python3.5/tokenize.py", line 433, in detect_encoding
encoding = find_cookie(first)
File "/usr/lib/python3.5/tokenize.py", line 397, in find_cookie
raise SyntaxError(msg)
SyntaxError: invalid or missing encoding declaration for 'sys'
In this case "sys" is a binary that belongs to openafs (/usr/bin/sys) and of course it is no valid python.
"import sys" produces no error though, so typically python is able to distinguish between its sys module and this file.
A workaround is to run python with the "-I" parameter.
Expected output:
>>> import warnings
>>> warnings.warn("foo", Warning, stacklevel=2)
sys:1: Warning: foo
This bug was spotted in Gnome's pygobject bindings. Here is the corresponding bug report:
https://bugzilla.gnome.org/show_bug.cgi?id=757184 |
|
Date |
User |
Action |
Args |
2015-10-27 16:46:01 | bevan | set | recipients:
+ bevan |
2015-10-27 16:46:01 | bevan | set | messageid: <1445964361.88.0.406365225673.issue25493@psf.upfronthosting.co.za> |
2015-10-27 16:46:01 | bevan | link | issue25493 messages |
2015-10-27 16:46:00 | bevan | create | |
|