[issue24455] IDLE debugger causes crash if not quitted properly before next run

2015-11-20 Thread Roundup Robot

Roundup Robot added the comment:

New changeset f51467273d3b by Terry Jan Reedy in branch '2.7':
Issue #24455: Prevent IDLE from hanging when a) closing the shell while the
https://hg.python.org/cpython/rev/f51467273d3b

New changeset 1ddd77a5e8c8 by Terry Jan Reedy in branch '3.4':
Issue #24455: Prevent IDLE from hanging when a) closing the shell while the
https://hg.python.org/cpython/rev/1ddd77a5e8c8

--
nosy: +python-dev

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24455] IDLE debugger causes crash if not quitted properly before next run

2015-11-20 Thread Terry J. Reedy

Terry J. Reedy added the comment:

Patch does two things.  On startup, check if debugger is already active and if 
it is, send 'finish' signal to existing interaction and try again after .1 
second. This is the part aimed at the particular problem of this issue.

During active running, use the tcl vwait mechanism 
https://www.tcl.tk/man/tcl/TclCmd/vwait.htm intended for suspending and 
resuming a function without blocking the event loop.  Using root.mainloop and 
root.quit for this purpose was a hack that sort of worked but created the 
shutdown problems in #15347 and #15348.

To further explain the suspend/resume ping-ponging of control: IDLE's bebugger 
is based on the bdb.Bdb debug engine.  User interaction is added by overriding 
Bdb.user_xyz methods.  The overrides tell Bdb what to do after they return by 
calling Bdb.set_uvw methods.  idlelib.Debugger.Idb defines .user_line and 
.user_exception, which are called when the debugger stops on a line or with an 
exception.  Both end by calling Debugger.Debugger.interaction.  This method 
updates the gui and activates the buttons.  It must then pause (now with vwait 
waitvar) and allow button presses (and other IDLE gui events) to be handled 
*without* returning.  (The stdlib pdb can instead just call "cmd = 
input('pdb>')" and block waiting for user input.) When a debugger button is 
pressed, a Bdb.set_uvw method is called and waitvar is set.  Then .interaction 
resumes, disables the buttons, and returns so Bdb can do the action requested.  
Thanks Mark for working this out and finding the proper pause/resume method.

On my Windows 10 machine, at least, the patch did not completely solve the 
hang-on-close issues.  One or two exceptions are raised instead of hanging. 
This is improvement. Details are on #15348.  Pending a better solution, I added 
try-except around the gui.interaction call to ignore the exception.

After numerous tests (at least 10) where I started and either stopped the 
debugger or restarted from the editor, I encountered a hang. But this was not 
something I could reproduce, and Restart Shell worked, whereas it had not 
previously.

--
assignee:  -> terry.reedy
resolution:  -> fixed
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24455] IDLE debugger causes crash if not quitted properly before next run

2015-09-22 Thread Mark Roseman

Mark Roseman added the comment:

Like #15347 and #15348, this was also caused by nested event loops, though the 
exact problem is slightly different.  I've attached fix-mainloop2.patch which 
has a lengthy comment explaining the problem and how the patch solves it. 

This patch also includes the changes from fix-nested-mainloop.patch.

--
keywords: +patch
Added file: http://bugs.python.org/file40553/fix-mainloop2.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24455] IDLE debugger causes crash if not quitted properly before next run

2015-09-18 Thread Mark Roseman

Changes by Mark Roseman :


--
nosy: +markroseman

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24455] IDLE debugger causes crash if not quitted properly before next run

2015-07-23 Thread Terry J. Reedy

Terry J. Reedy added the comment:

Thank you for testing this.  I am hoping that you left the patch applied for 
testing in routine use.  I an now reviewing the code so I can understand it 
well enough to apply, and to see what non-debug functions might possibly be 
affected, and need testing with the patch applied.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24455
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24455] IDLE debugger causes crash if not quitted properly before next run

2015-07-21 Thread sanad

sanad added the comment:

I have reviewed the patch(http://bugs.python.org/msg172439) submitted in issue 
#15348 and works very well for solving this  particular issue too. Although I 
have checked it only on Linux but it works arguably fine.

--
nosy: +sanad

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24455
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24455] IDLE debugger causes crash if not quitted properly before next run

2015-06-19 Thread Terry J. Reedy

Terry J. Reedy added the comment:

This seems like an extension of #15348, but I will leave it open for now.  The 
additional details may be useful.

--
nosy: +terry.reedy
versions: +Python 2.7, Python 3.5, Python 3.6

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24455
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24455] IDLE debugger causes crash if not quitted properly before next run

2015-06-15 Thread irdb

New submission from irdb:

# Open a module using IDLE
# Run the module (Press F5)
# Activate the debugger ([DEBUG ON])
# Set a breakpoint in the module
# Run the module again
# Run the module for the third time
# Hit the Quit button in Debug Control window (twice, as the first click 
appears to do nothing)

Congratulations! You got yourself a crash!
After a while, a window dialogue appears asking Do you want to end this 
process?. Click End Process (As there doesn't seem to be any other way).

One way to avoid this crash is to press quit before the third run. But even 
without it, this shouldn't happen. Sometimes the programmer may simply forget 
that there is an active debugger running...

I'm using 
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit 
(Intel)] on win32
(Windows 8.1)

--
components: IDLE
messages: 245384
nosy: irdb
priority: normal
severity: normal
status: open
title: IDLE debugger causes crash if not quitted properly before next run
versions: Python 3.4

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24455
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue24455] IDLE debugger causes crash if not quitted properly before next run

2015-06-15 Thread irdb

Changes by irdb electro@gmail.com:


--
type:  - crash

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue24455
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com