I made a change to the squeak debugger so that stepping code
runs in the correct process. I'm now seeing Morphic freeze when
I step thru ScriptProcesses, but not normal processes. I have
some idea of why, but am not familiar enough with
ScriptScheduler to draw all the connections.
A phenomenon I feel has the same root cause is: When I proceed
from a halted ScriptProcess in the debugger (the unmodified
debugger), and the tweak window is minimized, it sometimes never
actually runs until I unminimize the tweak window. For instance,
if I restart a method with a halt in it then proceed, it should
nearly immediately hit the halt, but it never actually does so
until I un-minimize tweak
I can't figure out why either of these happen. I know
ScriptProcesses have some interaction with the ScriptScheduler
when they start and stop and wait on Semaphores (none of which I
really get the point of). However, ScriptProcess doesn't
override Process >> suspend or Process >> resume, but it almost
seems to be acting as if it did, and won't resume if the
ScriptScheduler is paused.
Can anybody explain this?
PS: if you want a look at what I did to the debugger, get
http://cobalt.cs.duke.edu/pub/1.0-alpha-trunk/opencobalt-1.0alpha4.4-trunk.zipthen merge (not load) Kernel-mtf.540 from
http://croquet-src-01.oit.duke.edu:8886/RayTracing--
Matthew Fulmer (a.k.a. Tapple)