Debugger very slow when launched from TestRunner

Andreas Raab andreas.raab at gmx.de
Tue Jun 21 23:42:02 UTC 2005


Avi Bryant wrote:
> Well, I can see the problem using a fresh Squeak3.8-6665.image.  Now,
> maybe that image is already in a bad state itself... how would I
> check?

Oops. Clearly, I'm not doing enough Squeak work lately (heh, heh) so my 
analysis was based on outdated (3.7 or earlier) information. Looking at 
a plain 3.8 it seems pretty clear that Debugger 
class>>openOn:context:label:contents:fullView: is the culprit - it 
happily forks off a completely unsynchronized process to create the 
debugger; *probably* assuming that the argument "process" must be the 
active process. But if it isn't, then the newly forked process 
interferes with the Morphic UI process with all of the "interesting" 
effects you have noticed[*][**].

[*] One of the issues is that SystemWindow will forcefully redraw itself 
when activated/passivated and if this happens while we're not running 
inside the main Morphic loop you can watch each and every character 
being drawn individually (and as you noticed, this takes a while).

This method will never work, can never have worked, and must not work 
that way. So I think some tarring and feathering is in order - let's see 
whose initials are on that method ... ;-)

[**] This also prooves my point that shared state concurrency is a 
screwed up model to begin with. If people like Anthony cannot get it 
right then nobody can.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list