Must’ve been Cliff Click.

On Aug 30, 2023, at 4:23 PM, David Ungar <> wrote:


I am so sorry that I missed this message! Thanks, Mario, for replying!

Back in the day, patterns of *’s and .’s were used on line printers to print out pictures of…never mind. So, if the test doesn’t print out anything that looks like something…
Wait a minute, that’s not right.

At first glance, I have no idea, but let me think…The 17 was just a placeholder I used. (“17 is the most random number…”)
I think that the on-stack replacement was probably screwing up something like 3/5ths of the time. And the optimized stack frame would cause a crash when it went wrong.
This may be the infamous bug that took 5 minutes at least to surface, when it did. Turned out that someone (Mario will know who, but I don’t mention his name here), writing the SIC, I think, used one-letter names for arrays containing the next free register? and another different one-letter-name for the next free stack location.
In this case, the dynamic optimization resulted in the SIC using the wrong one-letter-name to allocate local variable sort of thing.

That’s my theory and I’m sticking to it.

Thanks for your patience,

- Dave

On Aug 30, 2023, at 4:12 PM, Mario Wolczko <> wrote:

Seeing as David hasn’t replied to Russell (yet?) I will offer a partial explanation:

Some of the tests are regression tests, designed to exercise a bug which has been fixed and to catch the (somewhat unlikely) possibility of it being reintroduced.
To understand the bug, the test and the fix you’d need to look at the change log around the date the test was introduced.
Some of the VM bugs found and fixed were extraordinarily narrow in the circumstances that trigger them and so the regression test can be impossible to understand in isolation, but they are usually abstracted from real-life code which exercised the bug.  Perhaps David remembers more about this specific case (now 20 years old!) but I wasn’t actively working on the system at the time so can’t offer more info.


Dave left a comment: Added in order to test the fix to the VM crashing
that surfaced doing Klein export work in winter/spring 2003.
-- David Ungar

But sadly I am not any wiser :)

What was this for? Does this test still have a meaning and reason for existing? 

Self-interest mailing list --
To unsubscribe send an email to