New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Py30a3: eval in threaded code raises SystemError #46474
Comments
In IDLE for Py30a3 if you enter:
as soon as you type the ( you get the following output to stderr (on : *** Internal Error: rpc.py:SocketIO.localcall() Object: exec Traceback (most recent call last):
File "/home/mark/opt/python30a3/lib/python3.0/idlelib/rpc.py", line
188, in localcall
ret = method(*args, **kwargs)
File "/home/mark/opt/python30a3/lib/python3.0/idlelib/run.py", line
316, in get_the_calltip
return self.calltip.fetch_tip(name)
File "/home/mark/opt/python30a3/lib/python3.0/idlelib/CallTips.py",
line 103, in fetch_tip
entity = self.get_entity(name)
File "/home/mark/opt/python30a3/lib/python3.0/idlelib/CallTips.py",
line 112, in get_entity
return eval(name, namespace)
SystemError: error return without exception set It does not appear to affect IDLE's functionality. |
I don't think that this is an IDLE error. It Without the subprocess we get the expected: IDLE 3.0a4 ==== No Subprocess ==== >>> eval('a')
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
eval('a')
File "<string>", line 1, in <module>
NameError: name 'a' is not defined With the subprocess there is an interpreter IDLE 3.0a4
>>> eval('a')
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
eval('a')
SystemError: error return without exception set I did a cutdown where I ran the eval in a bpo-1733757 is suggestive. This is a 3.0 issue, it doesn't occur in the |
The problem is just that in Python/pythonrun.c, the function run_mod() This happens only with Idle, probably because the subprocess redirected |
Committed r62157. Will also investigate why exec() needs to flush sys.stdout... |
Thanks, that does appear to fix the IDLE problem! The pseudofile does have a flush method and I was able to |
PyObject_CallMethod is actually returning a The problem is deeper. PyErr is being Perhaps PyErr should be preserved in ref bpo-1400. |
I think this is good enough: you should not invoke python code with a |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: