memory and VM issues (interp.c part 1 of 2 attached)

David T. Lewis lewis at
Thu Aug 4 01:49:40 UTC 2005

I've been trying to isolate this problem on my <red herring> 32 bit Intel Linux
</red herring> system by looking for what changed in the VMM code and the SVN
platforms tree, testing the resulting VMs with the 32 bit image from

The results so far can be summarized as:

> The problem was introduced in VMM code as opposed to platforms code.
> It was introduced in the change from VMMaker-tpr.21 to VMMaker-tpr.22. The VMMaker-tpr.22
> change set contains "Merge in johnmci & ar's GC instrumentation and weak pointer changes".
> Platforms version             VMMaker version Result
> -----------------             --------------- ------
> squeak-svn-source-SVN1200     VMMaker-tpr.21  OK
> squeak-svn-source-SVN1200     VMMaker-tpr.22  NFG

But I discovered (entirely by accident) that I overlooked a rather large
dimension of the problem. The bad (?) VM created from squeak-svn-source-SVN1200
and VMMaker-tpr.22 works just fine with an image that does not have the 64 bit
changes installed. So now comparing the results from a Squeak32-3.8g-6548.image
from the original ./dist3 distribution (image with 64 bit changes loaded) versus
a "stock" Squeak image such as Squeak3.7-5989-basic.image or Squeak3.9a-6472.image,
we have this:

Platforms version               VMMaker version Image                           Result
-----------------               --------------- -----                           ------
squeak-svn-source-SVN1200       VMMaker-tpr.21  dist3/Squeak32-3.8g-6548.image  OK
squeak-svn-source-SVN1200       VMMaker-tpr.22  dist3/Squeak32-3.8g-6548.image  NFG
squeak-svn-source-SVN1200       VMMaker-tpr.21  Squeak3.7-5989-basic.image      OK
squeak-svn-source-SVN1200       VMMaker-tpr.22  Squeak3.7-5989-basic.image      OK
squeak-svn-source-SVN1200       VMMaker-tpr.21  Squeak3.9a-6472.image           OK
squeak-svn-source-SVN1200       VMMaker-tpr.22  Squeak3.9a-6472.image           OK

Evidently the combination of the changes introduce in VMMaker-tpr.22 with the
changes that were added to the Squeak32-3.8g-6548 image in ./dist3, and maybe
or maybe not in combination with a 32 bit Intel Linux platform, are what cause
the problem to be present.

I have not tried any other experiments yet, but I thought I should report this
in case anyone is losing sleep over the problem right now.

My next steps (but not tonight) will be to try adding some or all of
VMM38b4-64bit-image1-ikp.1.cs, VMM38b4-64bit-image2-ikp.1.cs, and
System-Tracing.2.cs to a "stock" image and see if one of them induces
the problem when running on a "bad" VM built from squeak-svn-source-SVN1200
and VMMaker-tpr.22.


More information about the Vm-dev mailing list