Skip to content

IDLE processes don't close #52340

Closed
Closed

Description

@mensanator
mannequin
BPO 8093
Nosy @terryjreedy, @serwy, @briancurtin, @skrah
Superseder
  • bpo-12540: "Restart Shell" command leaves pythonw.exe processes running
  • 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:

    assignee = None
    closed_at = <Date 2011-12-22.06:18:22.661>
    created_at = <Date 2010-03-08.23:21:30.749>
    labels = ['expert-IDLE', 'type-bug', 'OS-windows']
    title = "IDLE processes don't close"
    updated_at = <Date 2011-12-22.06:18:22.661>
    user = 'https://bugs.python.org/mensanator'

    bugs.python.org fields:

    activity = <Date 2011-12-22.06:18:22.661>
    actor = 'ned.deily'
    assignee = 'none'
    closed = True
    closed_date = <Date 2011-12-22.06:18:22.661>
    closer = 'ned.deily'
    components = ['IDLE', 'Windows']
    creation = <Date 2010-03-08.23:21:30.749>
    creator = 'mensanator'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 8093
    keywords = []
    message_count = 5.0
    messages = ['100679', '100735', '102818', '138814', '150044']
    nosy_count = 6.0
    nosy_names = ['terry.reedy', 'roger.serwy', 'brian.curtin', 'skrah', 'mensanator', 'Simon']
    pr_nums = []
    priority = 'normal'
    resolution = 'duplicate'
    stage = 'resolved'
    status = 'closed'
    superseder = '12540'
    type = 'behavior'
    url = 'https://bugs.python.org/issue8093'
    versions = ['Python 3.1']

    Activity

    1. mensanator commented on Mar 8, 2010

      mensanatormannequin
      MannequinAuthor

      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.

    2. terryjreedy commented on Mar 9, 2010

      @terryjreedy
      Member

      I reproduced this with 3.1.1 on xp. It took a while to get the shell menu to restart as the calculation process is hogging the cpu 99%.
      KeyboardInterrupt (^C) would not stop the runaway process. There may have been other issues about this.

      Two processes is normal - one for the shell and one for calculations. The 'normal' behavior of Restart Shell (^F6) is to start a third process. Watching in task manager, the abandoned calculation process dies in 3-4 seconds. A stuck process does not end on its own though. Bad bug.

    3. skrah commented on Apr 11, 2010

      skrahmannequin
      Mannequin

      For the record:

      In 2.7-alpha you do not even get to press [Restart Shell], since IDLE is
      not responding during the calculation.

    4. simon commented on Jun 22, 2011

      simonmannequin
      Mannequin

      Not sure if this is related, but for me none of the F5 processes (command line "pythonw.exe -c __import__('idlelib.run').run.main(True) <num>") ever exit on either 2.7.2 or 3.2.1rc1.

    5. serwy commented on Dec 21, 2011

      serwymannequin
      Mannequin

      This issue should be closed since bpo-12540 fixes it.

      I verified that the bug exists with 3.1.4 on Vista. It does not exist with 3.2.2 on Vista.

    6. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions