[issue8093] IDLE processes don't close

paul stadfeld report at bugs.python.org
Tue Mar 9 00:21:31 CET 2010


New submission from paul stadfeld <mensanator at aol.com>:

So I started 3.1.2...

Python 3.1.2rc1 (r312rc1:78742, Mar  7 2010, 07:49:40) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> 

And monitored Windows Task Manager (XP):

Image Name    User Name       CPU   Mem Usage
---------------------------------------------
pythonw.exe   paul_stadfeld   00    11,120 K
pythonw.exe   paul_stadfeld   00    16,816 K

I assume this is normal.

I deliberately do something stupid:

>>> a = 222222222222222222222222222
>>> b = 5555555555555555555555555555 
>>> a**b

Ok, that will run for a while, long enough for me to watch the Task Manager:

Image Name    User Name       CPU   Mem Usage
---------------------------------------------
pythonw.exe   paul_stadfeld  ~55   ~30,548 K (constantly changing)
pythonw.exe   paul_stadfeld   00    16,828 K

So I do [Restart Shell] from IDLE's [Shell] menu:

>>> ================================ RESTART ================================

And try it again.

>>> a = 222222222222222222222222222
>>> b = 5555555555555555555555555555 
>>> a**b

But now it's different:

Image Name    User Name       CPU   Mem Usage
---------------------------------------------
pythonw.exe   paul_stadfeld   00    13,716
pythonw.exe   paul_stadfeld  ~50   ~30,548 K (constantly changing)
pythonw.exe   paul_stadfeld  ~48   ~45,548 K (constantly changing)
pythonw.exe   paul_stadfeld   00    16,892 K

Looks like the previous process was never stopped.

Trying to Restart Shell again and running same creates a 5th instance
of pythonw.exe.

>>> ================================ RESTART ================================
>>> a = 222222222222222222222222222
>>> b = 5555555555555555555555555555 
>>> a**b


Image Name    User Name       CPU   Mem Usage
---------------------------------------------
pythonw.exe   paul_stadfeld   00    13,716
pythonw.exe   paul_stadfeld  ~50   ~54,548 K (constantly changing)
pythonw.exe   paul_stadfeld  ~25   ~42,548 K (constantly changing)
pythonw.exe   paul_stadfeld  ~25   ~54,548 K (constantly changing)
pythonw.exe   paul_stadfeld   00    16,892 K


Only this time I got an error trying to re-start.

    IDLE's subprocess didn't make connection. Either IDLE can't start a 
    subprocess or personal firewall software is blocking the connection

Now I'm stuck, so I close the "Python Shell" window.

But closing the window only stopped one of the pythonw.exe instances.
The three active processes are still running full tilt (the one quiescent
process remains quiescent.)

This appears to be a process leak in addition to it being a memory leak.

Also, had one of the processes that won't stop opened a script from a USB
port, then Windows would refuse to eject the USB drive as it correctly 
thinks some process is still using it. Of course, since the application 
is closed, there's not suppoed to be any such process, so it's
not obvious where the problem is unless you look at the process table
in Windows Task Manager and manually halt all the renegade pythonw.exe
processes that are still running. At which point Windows will allow the 
USB to be ejected.

----------
components: IDLE
messages: 100679
nosy: mensanator
severity: normal
status: open
title: IDLE processes don't close
versions: Python 3.1

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue8093>
_______________________________________


More information about the Python-bugs-list mailing list