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

David T. Lewis lewis at mail.msen.com
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
squeak.hpl.hp.com/squeak64/dist3/Squeak32-3.8g-6548.image.tar.gz.

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.

Dave




More information about the Vm-dev mailing list