[Idle-dev] module won't run in IDLE: puzzling traceback

Brian van den Broek bvande at po-box.mcgill.ca
Sun May 8 20:44:39 CEST 2005

Hi all,

I'm a hobbyist who posts mostly to Tutor; I'm doing my level best to 
handle this "right". Apologies for any mis-steps. I have googled the 
web and searched the gmane archive of this list for the terms 
asyncqueue and putmessage but did not come up with anything that I 
recognized as relevant.

The problem:

I have a module which, when I run it with IDLE 1.1.1 produces the 
following traceback:

IDLE 1.1.1
 >>> ================================ RESTART 
Traceback (most recent call last):
   File "C:\PYTHON24\lib\idlelib\rpc.py", line 233, in asyncqueue
     self.putmessage((seq, request))
   File "C:\PYTHON24\lib\idlelib\rpc.py", line 333, in putmessage
     raise IOError

It leaves the program running (attempts to close the shell window 
produce a "The program is still running!" dialog). My environment is 
Python 2.4.1 running on a WindowsME box. Possibly of relevance: 1) I 
run ZoneAlarm, and 2) I often, but unpredictably, get the IDLE 
subprocess error message when attempting to relaunch IDLE after having 
shut it down, and have to kill a running Pythonw process in 
TaskManager to relaunch.

My module runs fine when run via each of the following: a DOS console 
Python interpreter, PythonWin, DrPython, and SciTE. (When applicable, 
the each tool's 'Check Syntax' command passes just fine, and this 
includes the check in IDLE itself.)

I have encountered this before with other modules of mine. I generally 
use Leo (a pure Python literate programming outline style code editor 
<http://webpages.charter.net/edreamleo/front.html>) to edit my longer 
pieces of code. In the present case, and I believe in previous cases 
of the same problem, I did indeed use Leo to write my code. Thus, I 
cannot rule out that Leo is somehow implicated or at fault, but the 
fact that other means of running my module work make me suspect it is 
an IDLE issue, rather than a Leo one. (Previous cases of this problem 
when running via IDLE also worked when ran via other means.)

I realize that it would be helpful to have a minimal snippet 
exhibiting the problem. But, I have been unable so far to produce a 
small snippet. My original module is over 1200 loc, and I have spent 
the better part of an hour trying to pare it down; I have reduced it 
but it still stands at just under 750 loc. I am about to give up on 
the attempt to pare it down further--at this point, removing any 
docstrings, classes, methods, if blocks, or even print statements 
cause the problem to disappear. (Indeed, I was only able to remove a 
few classes, top-level statements, and all comments while preserving 
the problem.)

I have checked, and there are no tabs in my module and all lines end 
with the Unix standard \n rather than the Windows \r\n. (I tried 
converting to \r\n line endings, and it makes no difference.)

I know nothing of IDLE's internals, and am not sufficiently skilled in 
programming to acquire a meaningful understanding in a reasonable 
time-frame. I would very much appreciate suggestions as to how to 
narrow down the problem further.

Thanks and best,

Brian vdB

More information about the IDLE-dev mailing list