This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author roger.serwy
Recipients Boris.FELD, ajaksu2, gerluijten, gpolo, roger.serwy, srid, terry.reedy
Date 2013-03-31.23:22:08
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1364772128.49.0.86021422733.issue5492@psf.upfronthosting.co.za>
In-reply-to
Content
I found the root cause of the original error. 

Entering "exit()" at the shell raises SystemExit which gets written to the shell's text widget. The call to actually write the text passes through .write() in Lib/idlelib/OutputWindow.py, which calls text.update(). The call to .update() enters the Tk event loop and flushes pending events, including expired .after callbacks. 

Forcing the .after callback in .close() to 1 ms will always trigger the error. Commenting out the text.update() in OutputWindow.py avoids the error.

The patch causes .kill_subprocess() to execute immediately which prevents the subprocess from writing to sys.stderr.
History
Date User Action Args
2013-03-31 23:22:08roger.serwysetrecipients: + roger.serwy, terry.reedy, ajaksu2, gpolo, gerluijten, srid, Boris.FELD
2013-03-31 23:22:08roger.serwysetmessageid: <1364772128.49.0.86021422733.issue5492@psf.upfronthosting.co.za>
2013-03-31 23:22:08roger.serwylinkissue5492 messages
2013-03-31 23:22:08roger.serwycreate