[BUG] To many temps lead to crash or endless loop...

Dan Ingalls Dan.Ingalls at disney.com
Tue Dec 28 20:05:43 UTC 1999


Stephan -

>I have written an adHoc - not nice - testing method, which evolved from
>workspace computation:
>28 temps were OK, but with one dummy var more -> endless loop; with some
>more -> crash!
>
>I've searched a while for the reason of this problem, then I've
>systematically reduced the complexity of this method and came to these
>results.
>After that I've taken a look onto the Squeak-ML and found a limit of 31
>or so...
>
>Does anybody know, if it is possible to avoid crashes and throw an
>exception or simply an error message?
>
>Sorry, I'm not a VM specialist... But I hate crashes!

So do I.  I believe your problem is a test-pilot problem.  2.7 will support more than 31 temps, but not until you build a VM from the 2.7 sources.  I didn't try to check what VM you were using because I figures soon everyone would have the higher limit.

If you want to be safe until the 2.7 VM is released, you can patch the test in CompiledMethod>>needsFrameSize: from
	(self numTemps + newFrameSize) > LargeFrame
to
	(self numTemps + newFrameSize) > 32 "Largest frame in 2.6 VM"

Or if you can build VMs, or can get one from someone else on the list, you can continue your experiments.

>P.S.: I don't want to start a discussion about sense or nonsense of so
>much temps: I've wanted to reduce them and will do so, but for quick
>testing by copy and paste it was comfortable, but then I was punished...

I understand.  I wrote one of the methods that hit the old limit of 32, and I have tried to work on the others.

	- Dan





More information about the Squeak-dev mailing list