3.8.1 Sloooooow redraw with debugger
andreas.raab at gmx.de
Fri Oct 27 17:40:15 UTC 2006
Colin Putney wrote:
>> I once had a situation in which I could reproduce the problem and then
>> found a way to fix it by changing Debugger
>> class>>openOn:context:label:contents:fullView: not to fork immediately
>> but to do a WorldState addDeferredUIMessage: [..] instead.
>> This change went into 3.9, and I have the impression that the issue
>> doesn't pop up that often anymore, however, it is still there.
> This is my experience as well.
I haven't seen it after these fixes went in. What seems to happen is
that the redraw of the debugger is competing with the UI process (this
is why scheduling it with WorldState fixes the problem). You can see
this for example by doing something like here:
process :=  newProcess.
context := process suspendedContext.
debugger := Debugger new process: process controller: nil context: context.
debugger openFullNoSuspendLabel: 'test'.
This (for me) shows the effect in about 1 out of three attempts (there
is some randomness to it because it's competing with the UI process).
> The problem is definitely still there, patching the debugger just causes
> it to happen much less frequently.
If you see it happen you should immediately make a snapshot of the
processes you have running and see if any of them might do the
equivalent of what you see above. It might also be triggered by
overrides in packages you use.
More information about the Squeak-dev