[etoys-dev] Control-C causing lockup

David T. Lewis lewis at mail.msen.com
Sat Oct 3 14:35:07 EDT 2009

On Thu, Oct 01, 2009 at 09:53:55PM +0200, Bert Freudenberg wrote:
> On 01.10.2009, at 02:50, David T. Lewis wrote:
> >>
> >>There was a fix for this sort of problem in Mantis 1041. The patch
> >>went into Squeak 3.9, and I am not sure if it has been incorporated
> >>into the Etoys image or not. Unfortunately I cannot look into it  
> >>right now, but will check later.
> >
> >To follow up on the above, I took a look at an Etoys-dev image, and  
> >I am fairly sure that Mantis 1041 is the cause of this problem. The  
> >necessary changes are in the VM, and are in Squeak 3.9 and beyond,
> >but are not in Etoys. Unfortunately, just loading the old change set
> >from Mantis did not fix it, so maybe there is some bit rot or other
> >inconsistency that I'm not spotting at the moment.
> Thanks, David. I opened a ticket for that:
> http://tracker.squeakland.org/browse/SQ-489
> If anybody could adapt the changeset for current Etoys, that would be  
> awesome!


I am attaching LowSpaceAndInterruptHandler-4Etoys-M1041-dtl.cs, which is an
update to the patch from Mantis 1041 with the latest version of each method
from the Squeak trunk. If you apply this to the Etoys image, it will address
the M1041 issue, which permits the following four tests to be interrupted
correctly with alt-period:

  "[true] whileTrue"
  "[[true] whileTrue] forkAt: Processor userSchedulingPriority + 1"
  "Smalltalk createStackOverflow"
  "[Smalltalk createStackOverflow] forkAt: Processor userSchedulingPriority + 1"

The Etoys image seems to be slower to react to an alt-period (and I think
also that the Unix VM reacts more slowly than others). I suspect that there
are some additional changes in process scheduling that will improve this,
and hopefully as we can get under way with bringing Etoys and Squeak in sync,
the improvements well be picked up along the way.

When you apply LowSpaceAndInterruptHandler-4Etoys-M1041-dtl.cs, I would suggest
first applying the original LowSpaceAndInterruptHandler-3-dtl.1.cs from Mantis
(also attached) and then applying LowSpaceAndInterruptHandler-4Etoys-M1041-dtl.cs
afterwards. That will make the change history more clear, and also make it
possible to back out the latest Squeak trunk version in case there are some
issues or interactions I'm not aware of.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: LowSpaceAndInterruptHandler-4Etoys-M1041-dtl.1.cs.gz
Type: application/octet-stream
Size: 3432 bytes
Desc: not available
Url : http://luna.immuexa.com/pipermail/etoys-dev/attachments/20091003/58d9b2f4/LowSpaceAndInterruptHandler-4Etoys-M1041-dtl.1.cs.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LowSpaceAndInterruptHandler-3-dtl.1.cs.gz
Type: application/octet-stream
Size: 3110 bytes
Desc: not available
Url : http://luna.immuexa.com/pipermail/etoys-dev/attachments/20091003/58d9b2f4/LowSpaceAndInterruptHandler-3-dtl.1.cs.obj

More information about the etoys-dev mailing list