Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDLE processes don't close #52340

Closed
mensanator mannequin opened this issue Mar 8, 2010 · 5 comments
Closed

IDLE processes don't close #52340

mensanator mannequin opened this issue Mar 8, 2010 · 5 comments
Labels
OS-windows topic-IDLE type-bug An unexpected behavior, bug, or error

Comments

@mensanator
Copy link
Mannequin

mensanator mannequin commented Mar 8, 2010

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']

    @mensanator
    Copy link
    Mannequin Author

    mensanator mannequin commented Mar 8, 2010

    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.

    @mensanator mensanator mannequin added the topic-IDLE label Mar 8, 2010
    @briancurtin briancurtin added OS-windows type-bug An unexpected behavior, bug, or error labels Mar 8, 2010
    @terryjreedy
    Copy link
    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.

    @skrah
    Copy link
    Mannequin

    skrah mannequin commented Apr 11, 2010

    For the record:

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

    @simon
    Copy link
    Mannequin

    simon mannequin commented Jun 22, 2011

    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.

    @serwy
    Copy link
    Mannequin

    serwy mannequin commented Dec 21, 2011

    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.

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    OS-windows topic-IDLE type-bug An unexpected behavior, bug, or error
    Projects
    None yet
    Development

    No branches or pull requests

    3 participants