[Vm-dev] Intermittent failures on InterpreterVM build

David T. Lewis lewis at mail.msen.com
Sat Feb 16 13:59:29 UTC 2013


On Sat, Feb 16, 2013 at 11:48:14AM +0000, Frank Shearar wrote:
>  
> http://build.squeak.org/job/InterpreterVM/200/console shows a
> successful build of r2688
> http://build.squeak.org/job/InterpreterVM/201/console shows a failed
> build of r2688
> 
> The failure was because the watchdog timer killed the build. I don't
> know the ins and outs of either the script driving it (I've glanced at
> it, but haven't taken the time to understand it) nor of VMMaker, but
> when I've had builds hang it's normally for the extremely unhelpful
> reason of a dialog popping up on a screen noone will see, either
> notifying of an error or asking the user a question.

This is due to some kind of intermittent issue in CommandShell. I've
never been able to track it down to root cause, but I suspect that
it's a missed event notification or something related to process
scheduling. In any case, I put a watchdog into the script so that
if one of the CommandShell procedures becomes unresponsive, the image
won't just sit out there forever.

The build.squeak.org/job/InterpreterVM job was more or less an experiment
to see if I could document a repeatable process in the form of an
all-Squeak script. It seems to work reasonably well for this, and it
also serves as a monitor to alert if some change to either VMMaker or
the platform code breaks things horribly (which hopefully will never
happen).

As always, the real instructions for how to build an interpreter VM
are on squeakvm.org, as are the source tarballs corresponding to
official releases. In addition, the Subversion repository now has
a trunk/src directory with generated sources that are up to date with
VMMaker, so these sources will be pretty much the same as the ones
on build.squeak.org (except when I forget to do the updates!).

The generated sources in Subversion are in a folder along side the
platforms sources, so it is trunk/platforms and trunk/src.

  http://squeakvm.org/cgi-bin/viewvc.cgi/squeak/trunk/

I should note that the directory structure within trunk/src is
changed to match that of the Cog branch (internal and external plugins
all in the same subdirectory), so the current build procedures
for the interpreter VMs would need to be adjusted. In other words,
don't use trunk/src to create tarballs for Linux distributions,
use the official tarballs in http://squeakvm.org/unix/.

Dave



More information about the Vm-dev mailing list