[Vm-dev] Help/advice tracking down a squeak-vm regression
David T. Lewis
lewis at mail.msen.com
Sun May 6 23:28:35 UTC 2012
On Sat, May 05, 2012 at 05:53:24PM +0100, Alex Bradbury wrote:
> Hi all,
> As some of you may know, MIT Scratch does not work on the latest
> squeak-vm (4.4.7-2353). This is unfortunate, because that's the
> version of squeak-vm packaged in Debian wheezy and thanks to the
> recent GPLv2 relicensing of Scratch this incompatibility is the only
> thing preventing Scratch from getting in to Debian's package archive
> before the 'freeze' for the next version version (wheezy).
> Miriam Ruiz and others have done some debugging at
> <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=471927>. The
> symptoms are that when opening the Scratch image, you just get a black
> window and 100% CPU usage. See Miriam's posts for straces and the
> section of code that loops forever. In a situation like this, I'd
> normally just do a binary search through the changes between the
> working 4.0.3 and broken 4.4.7 using git bisect. However, given that
> the VM code is automatically generated by VMM (is the Slang source
> even version controlled?) I can't see an easy way to do that.
> I'd really appreciate any help anyone can offer in debugging this issue,
If I remember correctly, Scratch derives from a Squeak 3.6 image and uses
a VM of similar vintage. Since the days of Squeak 3.6, there have been
a number of fundamental changes in the Squeak VM. I recall some discussion
of this perhaps a couple of years ago, and I think that the prevailing
view was that it made more sense to bring the Scratch image up to date
with respect to the VM changes, as opposed to trying to make a single
VM that could be backward compatible all the way to Squeak 3.6.
Personally, I think that it would be very interesting and worthwhile
if someone could take on a project to make a Squeak VM that knows how
to run all of the old Squeak (and Scratch) images from years past.
But I'm afraid that this is a challenging task, and it is probably not
realistic to think that it could be done quickly enough to help with
the Debian packaging issue.
I do not know anything about the Scratch and/or Debian issues, but
I suspect that the bottom line is that a Scratch image needs to run
on a Scratch VM, and in order to release this on Debian it most likely
is necessary to distribute the Scratch VM in a way that it does not
conflict with the Squeak VM distribution.
>From a license point of view, is there any reason that the Scratch VM
and source code could not be distributed on Debian? If this is acceptable,
then I expect that the fastest way to achieve a working distribution would
involve arranging for Scratch to run using a VM at e.g. /usr/bin/scratch,
and Squeak to run with /usr/bin/squeak or /usr/bin/cog.
More information about the Vm-dev