The classic tests for things that should be interruptable are:
"[true] whileTrue"
"[[true] whileTrue] forkAt: Processor userSchedulingPriority + 1"
"Smalltalk createStackOverflow"
"[Smalltalk createStackOverflow] forkAt: Processor userSchedulingPriority + 1"
Trunk is failing the last two tests that check for stack overflow handling
(wait for out of memory -> VM crash).
Note: To reproduce, run with fixed stack size, otherwise you will just get
virtual memory page thrashing. On Linux:
$ squeak -memory 40M myTrunkImage.image
I think that this is an image side problem (not Spur/Cog VM) because I get
similar failures with a trunk level image running on interpreter VM (image
from
http://build.squeak.org/job/FollowTrunkOnOldV3Image/).
It is not necessarily a new problem, because I have not tried this in quite
a while, and the computer that I am using today is much faster than the one
I would have used on previous tests. So it is possible that this is existing
behavior that gets worse as the hardware has gotten faster, or maybe there
is something that has regressed in the image.
Either way, low space interrupts are not working as expected in trunk.
Results might vary on different operating systems and computer hardware. Are
others seeing the same thing? How does it look on a Raspberry Pi for example?
Dave