[Python-bugs-list] [Bug #116289] Programs using Tkinter sometimes can't shut down (Windows)

noreply@sourceforge.net noreply@sourceforge.net
Mon, 05 Feb 2001 21:13:07 -0800


Bug #116289, was updated on 2000-Oct-06 19:25
Here is a current snapshot of the bug.

Project: Python
Category: Windows
Status: Open
Resolution: None
Bug Group: 3rd Party
Priority: 3
Submitted by: tim_one
Assigned to : tim_one
Summary: Programs using Tkinter sometimes can't shut down (Windows)

Details: The following msg from the Tutor list is about 1.6, but I noticed
the same thing several times today using 2.0b2+CVS.  In my case, I was
running IDLE via

python ../tool/idle/idle.pyw

from a DOS box in my PCbuild directory.  Win98SE.  *Most* of the time,
shutting down IDLE via Ctrl+Q left the DOS box hanging.  As with the
poster, the only way to regain control was to use the Task Manager to kill
off Winoldap.

-----Original Message-----
From: Joseph Stubenrauch <nothingisgoingtochangemyworld@yahoo.com>
Sent: Friday, October 06, 2000 9:23 PM
To: tutor@python.org
Subject: Re: [Tutor] Python 1.6 BUG


Strange, I have been experiencing the same bug myself.
Here's the low down for me:

Python 1.6 with win95
I am running a little Tkinter program
The command line I use is simply: "python foo.py"
About 25-35% of the time, when I close the Tkinter
window, DOS seems to "freeze" and never returns to the
c:\ command prompt.  I have to ctrl-alt-delete
repeatedly and shut down "winoldapp" to get rid of the
window and then shell back into DOS and keep working.
It's a bit of a pain, since I have the habit of
testing EVERYTHING in tiny little stages, so I change
one little thing, test it ... freeze ... ARGH!  Change
one more tiny thing, test it ... freeze ... ARGH! 
However, sometimes it seems to behave and doesn't
bother me for an entire several hour session of python
work.

That's my report on the problem.

Cheers,

Joe


Follow-Ups:

Date: 2001-Feb-05 21:13
By: djhender

Comment:
This was a symptom I saw while tracking down the essence of the problem
reported in #131207.  Using Win98SE, I would get an error dialog (GPF?) in
the Kernel, and sometimes the dos prompt would not come back.
-------------------------------------------------------

Date: 2000-Dec-12 18:00
By: tim_one

Comment:
Just reproduced w/ current CVS, but didn't hang until the 8th try.

http://dev.scriptics.com/software/tcltk/ says 8.3 is still the latest
released version; don't know whether that URL still makes sense, though.
-------------------------------------------------------

Date: 2000-Dec-12 12:58
By: gvanrossum

Comment:
Tim, can you still reproduce this with the current CVS version?

There's been one critical patch to _tkinter since the 2.0 release.

An alternative would be to try with a newer version of Tcl (isn't 8.4 out
already?).

-------------------------------------------------------

Date: 2000-Oct-15 09:47
By: nobody

Comment:
Same as I've reported earlier; it hangs in the call to
Tcl_Finalize (which is called by the DLL finalization
code).  It's less likely to hang if I call Tcl_Finalize
from the _tkinter DLL (from user code).

Note that the problem isn't really Python-related -- I
have stand-alone samples (based on wish) that hangs in
the same way.

More later.

</F>
-------------------------------------------------------

Date: 2000-Oct-13 07:40
By: gvanrossum

Comment:
Back to Tim since I have no clue what to do here.
-------------------------------------------------------

Date: 2000-Oct-12 10:25
By: gvanrossum

Comment:
The recent fix to _tkinter (Tcl_GetStringResult(interp) instead of
interp->result) didn't fix this either.

As Tim has remarked in private but not yet recorded here, a workaround is
to use pythonw instead of python, so I'm lowering thepriority again.

Also note that the hanging process that Tim writes about apparently
prevents Win98 from shutting down properly.
-------------------------------------------------------

Date: 2000-Oct-07 00:37
By: tim_one

Comment:
More info (none good, but some worse so boosted priority):

+ Happens under release and debug builds.

+ Have not been able to provoke when starting in the debugger.

+ Ctrl+Alt+Del and killing Winoldap is not enough to clean everything up. 
There's still a Python (or Python_d) process hanging around that
Ctrl+Alt+Del doesn't show.

+ This process makes it impossible to delete the associated Python .dll,
and in particular makes it impossible to rebuild Python successfully
without a reboot.

+ These processes cannot be killed!  Wintop and Process Viewer both fail to
get the job done.  PrcView (a freeware process viewer) itself locks up if I
try to kill them using it.  Process Viewer freezes for several seconds
before giving up.

+ Attempting to attach to the process with the MSVC debugger (in order to
find out what the heck it's doing) finds the process OK, but then yields
the cryptic and undocumented error msg "Cannot execute program".

+ The processes are not accumulating cycles.

+ Smells like deadlock.
-------------------------------------------------------

For detailed info, follow this link:
http://sourceforge.net/bugs/?func=detailbug&bug_id=116289&group_id=5470