[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
=================