[Vm-dev] 32bit clean VM work.
David T. Lewis
lewis at mail.msen.com
Tue Jun 12 03:37:11 UTC 2007
On Sun, Jun 10, 2007 at 12:21:05PM +0200, Damien Cassou wrote:
> 2007/6/10, John M McIntosh <johnmci at smalltalkconsulting.com>:
> >(c) I have not confirmed the changes work with the Unix VM, or the
> >Windows VM, I have no plans to do so.
> What can we do to test the unix vm?
Well, since you asked ;)
Following up on John's OS X work, I have now built Unix VMs on both
32-bit and 64-bit systems without problems.
The good news is that everything works fine on both platforms, even
when I set the base of heap memory to just below 2MB as John suggested
The bad news is that I cannot get it to fail. My 32-bit system is
an older 2.4 Linux kernel, which refuses to mmap things at the
requested locations and therefore does not have a problem. On
the 64-bit (2.6 kernel) system, I can allocate heap below 2MB, and
Squeak is perfectly happy. There probably has never been any issue
on 64-bit Linux systems as far as I can tell (but you do need to
also load the fix from Mantis 5688 if you are building for a
64-bit system, and some others if you want to run an actual 64-bit
So here is what is needed:
We need someone with a Linux system that *does* have the memory
problem, such that (for example) your Seaside application will
crash if you do not run it with the "-memory" option. On that same
system, build a new VM with the latest Subversion sources, with
VMMaker from SqueakMap, plus the fileins that John has provided
in the "platforms/Mac OS/vm/specialChangeSets/VmUpdates-dtl"
directory. No other fileins should be necessary on a 32-bit system,
so if you can build this VM, then run the Seaside application
without using a "-memory" option on the Squeak command line, then
we are probably in good shape.
It is quite likely that this *will* work, but someone with a
newer 32-bit Linux system will need to confirm it.
Note that some follow-up testing will probably be needed to try
forcing Squeak memory allocation at certain specific locations
(i.e. right below the 2BM address boundary), but just building
and running a new VM to see if it makes a known problem go away
would be a big help.
More information about the Vm-dev