[Idle-dev] Leaving subprocesses hanging
john.zelle at wartburg.edu
Thu Dec 16 18:25:23 CET 2004
I'm new to the idle-dev list, but felt I needed to post here for some
assistance. I am in communication with a number of college faculty using
Python to teach introductory programming courses. There has been growing
frustration that newer versions of IDLE seem to be less stable. In
particular, especially under Windows XP, there are times when IDLE
becomes unresponsive (hangs). This seems to be related to losing proper
communication with its subprocess. The only way to get things cleaned up
again is to go into the process manager and kill the stray pythonw
processes. Unfortunately, the behavior is sporadic and hard to pin down.
I did a little poking around in the idle-dev archives and did not see
anything about this problem, so I did a bit of experimenting on my own.
One simple case that causes IDLE to hang is to simply close the shell
while the program that it is executing is waiting for input. After IDLE
asks if it should kill the program, it usually hangs. If it doesn't do
this the first time, a couple of <f5>-close sequences will produce it.
I modified PyShell.py in IDLE 1.03 by adding a call to cancel_callback()
before closing the shell window. This seems to solve the problem
(perhaps in an inelegant way). I do not know yet if fixing this
"special" case solves the larger instability problems. I'm hoping some
of the reader of edu-sig are trying it out and will let me know.
In the mean time, I'd appreciate hearing if this is a known problem that
is being worked on in IDLE. My preliminary test of IDLE 1.1 shows that
it still suffers from the specific hang that I've identified.
More information about the IDLE-dev