Re: [Pharo-dev] Coral is green
On Sat, May 24, 2014 at 1:29 AM, David T. Lewis wrote: > On Fri, May 23, 2014 at 10:26:54PM +0200, Stephan Eggermont wrote: > > David wrote: > > >In any case, the change affects one source file in the VM platform > > >sources, so if you can arrange to get that included in the Pharo VM > > >builds, that should provide a working VM that you can use for OSProcess > on > > >Pharo. > > > > I noticed that this is only a unix vm change. Should this be working > > already on Mac and Windows? > > > > Definitely not for Windows. > > I'm honestly not sure where we stand on Mac VMs. If the VM is based on the > unix platform sources, then it will work, otherwise probably not. > > The specific feature that affects the OSProcess tests is the ability to > support #forkSqueak, which uses a Unix fork() mechanism to start an exact > copy of the running VM and image with very little memory overhead. This is > used in the OSProcess test suite in order to set up test cases that deal > with the interaction of two or more OS processes. > > Think about what is required to ask the VM to pause for a moment, split > itself in two like an amoeba, and then have both of the VM instances start > running again as if nothing had happened. That means pausing and restarting > some signal handlers, pausing the connection to the X display so a new one > can be created for the second VM process, and restarting the various > threads > that were running in the original VM. Most of this was already working for > Cog. Eliot came up with a way to restart the timer threads for Cog and > wonder of wonders, that was all it took to get #forkSqueak working on Cog. > It would be terrific to have this working again smoothly on Linux. I am using CentOS6. > > Dave > >
Re: [Pharo-dev] Coral is green
On Fri, May 23, 2014 at 10:26:54PM +0200, Stephan Eggermont wrote: > David wrote: > >In any case, the change affects one source file in the VM platform > >sources, so if you can arrange to get that included in the Pharo VM > >builds, that should provide a working VM that you can use for OSProcess on > >Pharo. > > I noticed that this is only a unix vm change. Should this be working > already on Mac and Windows? > Definitely not for Windows. I'm honestly not sure where we stand on Mac VMs. If the VM is based on the unix platform sources, then it will work, otherwise probably not. The specific feature that affects the OSProcess tests is the ability to support #forkSqueak, which uses a Unix fork() mechanism to start an exact copy of the running VM and image with very little memory overhead. This is used in the OSProcess test suite in order to set up test cases that deal with the interaction of two or more OS processes. Think about what is required to ask the VM to pause for a moment, split itself in two like an amoeba, and then have both of the VM instances start running again as if nothing had happened. That means pausing and restarting some signal handlers, pausing the connection to the X display so a new one can be created for the second VM process, and restarting the various threads that were running in the original VM. Most of this was already working for Cog. Eliot came up with a way to restart the timer threads for Cog and wonder of wonders, that was all it took to get #forkSqueak working on Cog. Dave
Re: [Pharo-dev] Coral is green
David wrote: >In any case, the change affects one source file in the VM platform >sources, so if you can arrange to get that included in the Pharo VM >builds, that should provide a working VM that you can use for OSProcess on >Pharo. I noticed that this is only a unix vm change. Should this be working already on Mac and Windows? Stephan
Re: [Pharo-dev] Coral is green
Ok, I created a pull request on https://github.com/pharo-project/pharo-vm. I guess there should be a way to use the diff directly, instead of editing the file by hand. Stephan
Re: [Pharo-dev] Coral is green
Hi Stephan, The precompiled Cog VM would need to come from Eliot's site (or follow the links to Eliot's site from http://squeakvm.org). The build.squeak.org job is really just me testing the VMMaker code generation, it's not intended as a source of VMs. I tested Eliot's change and it works, but I think I was testing it with a Cog VM that I compiled myself. So I'm not sure if the up to date precompiled VM is available. In any case, the change affects one source file in the VM platform sources, so if you can arrange to get that included in the Pharo VM builds, that should provide a working VM that you can use for OSProcess on Pharo. Dave > Thanks, David. > > Where do I find a precompiled cog vm with the changes to test with? > (preferably mac, > but linux will do). build.squeak.org doesn't seem to have a recent green > build. > > Stephan
Re: [Pharo-dev] Coral is green
Thanks, David. Where do I find a precompiled cog vm with the changes to test with? (preferably mac, but linux will do). build.squeak.org doesn't seem to have a recent green build. Stephan