[PYTHONMAC-SIG] Window Cleanup in FrameWork
Steven D. Majewski
sdm7g@virginia.edu
Wed, 20 Nov 1996 16:06:31 -0500 (EST)
[ Jack -- I'm cc-ing this to the list.
Does anyone else have trouble demonstrating this bug ?
If I'm not the only one seeing it, I'm going to have to start
removing extensions or look for other reasons my machine may be
different. ]
On Wed, 20 Nov 1996, Jack Jansen wrote:
>
> Steve,
> I can't reproduce this (and, hence, I can't investigate whether there's a bug
> in framework somewhere). Could you please give me a more detailed description
> of how you made pictbrowse (or pictbrowse2) crash?
It didn't always happen in the same place, so it took a little
probing before I could figure out how to reproduce it.
This last bunch of tests was with PICTbrowse, but I've gotten similar
problems before with PICTbrowse2.
[1] You have to select and view an item more than once -- double click
and close the resulting window for several id's in the list view,
then go back to the beginning and try the same ones again.
[2] Sometimes, the second time I select an item, it pops up with a very
small empty window -- definitely not the window I saw the first time
thru.
[3] Sometimes it will crash with a exception from struct, trying to
unpack the resource.
[4] I don't always get a crash or an empty window on the first retry,
but then again, I've never had to go thru the entire list twice
trying for a crash. In this latest test, I went thru the same
half dozen items not more than 2 or 3 times to get a crash.
( Could it be some resource or pointer that is supposed to be locked and
sometimes gets moved around ? )
[5] After it crashes, I can't quit Python from the Menu ( Or else
something else strange happens to cause a complete machine crash. )
I *DO* have the listener window to the interpreter, and I can call
sys.exit: <terminated> displays on the window, but the List window
from PICTbrowse is still on screen, and I can't get the program to
quit and cleanup. ( I have my options set to keep the main python
window alive after termination -- which I typically want so I can
read output in that window before a program dies and disappears. But
I assume changing that option is only covering up the problem. )
I can ALWAYS generate the window-won't-die problem independently of
that bug:
run python
import os
os.chdir to the PICTbrowse directory ( ':Mac:Demo:PICTbrowse' )
import PICTbrowse
now do QUIT from the menu before doing anything that might crash
the script. The List window doesn't go away. I can't find anything
in any namespace that looks like it might be holding the window
/ dialog or other object. Everything in the PICTbrowse name space
is either a Class, a function, another module, or an integer --
there are no window or dialog or other objects live and visible.
I have also generated a couple of errors with statements like
"1 + ''", just to make sure that there is nothing being kept live
in the exception variables ( sys.last_traceback, etc. )
The is no window or dialog variable to 'del', so I can't try
that explicitly. I can call PICTbrowse.main() and get a new list
window to pop up on top of the old one, if I move the new one to
uncover the old one, the old window, of course, does not get
updated.
---| Steven D. Majewski (804-982-0831) <sdm7g@Virginia.EDU> |---
---| Department of Molecular Physiology and Biological Physics |---
---| University of Virginia Health Sciences Center |---
---| P.O. Box 10011 Charlottesville, VA 22906-0011 |---
By doing just a little every day, you can gradually
let the task completely overwhelm you.
=================
PYTHONMAC-SIG - SIG on Python for the Apple Macintosh
send messages to: pythonmac-sig@python.org
administrivia to: pythonmac-sig-request@python.org
=================