On Sun, Jun 10, 2007 at 12:21:05PM +0200, Damien Cassou wrote:
2007/6/10, John M McIntosh johnmci@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 for testing.
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 image).
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.
Thanks,
Dave