[Vm-dev] instability

Eliot Miranda eliot.miranda at gmail.com
Thu Aug 11 17:28:21 UTC 2016

Hi Tim,

On Fri, Aug 5, 2016 at 11:46 PM, Tim Felgentreff <timfelgentreff at gmail.com>

> Hi,
> I agree that only reasonably stable code should go into the Cog branch.
> But  how do we ensure that? I'm against going with someone's "gut feeling"
> for this, instead I think we really do need some tests. Right now the only
> "test" we run is that the VM compiles in different configurations on
> different platforms. We really need proper stress tests, in-Image as well
> as out-of-Image. There are many tests in Squeak, for example, that have
> nothing to do with the system and only test VM specifics (that are subject
> to change anyway, like testing that Floats are boxed). Personally I would
> think we should move these into the VM project and run them on Travis.
> Additionally we need an easy way to add a test when a new crash is
> discovered to guard ourselves against regressions.
> I believe that with more people making contributions (which was one of the
> reasons for the github move) it just becomes infeasible to always test
> branches manually.
Agreed.  We need a suite of tests that is strong enough that we would mark
as stable any VM that passed them all.

A simple test is running the test suite, but IME that doesn't stress the VM
enough; it does find VM flaws in primitives, etc.  But may not stress the
system enough to find GC bugs.

One test then is to build a VMMaker image from the updated trunk image (a
la image/buildspurtrunkvmmakerimage.sh) and have this image produce all
sources (a la [VMMaker generateAllConfigurationsUnderVersionControl]
valueSupplyingAnswer: false).  All this should happen in three ways:
- in a single step, updating the image, loading all of VMMaker and then
generating all the sources,
- in a single step, but with a save after each step
- as three steps, updating the image, saving and quitting, launching,
loading all of VMMaker, saving and quitting, launching, generating all

This is a good stress case for my usage (and would certainly identify the
current instability).

Chris M, could you contribute a Magma multi-image test in any form?

Anyone else have any big stress cases?

> Am 06.08.2016 3:27 vorm. schrieb "John McIntosh" <
> johnmci at smalltalkconsulting.com>:
>> it is easy to fork a branch in GIT you should do that.
>> Only stable code (you can decide what that means) should reach the main
>> branch or merged into the Cog Branch.
>> Git makes it easy to experiment by forking. Don't merge stuff until you
>> can show the branch/commit point is stable.
>> On Fri, Aug 5, 2016 at 5:40 PM, Eliot Miranda <eliot.miranda at gmail.com>
>> wrote:
>>> Hi All,
>>>     on returning to VM work I'm seeing lots of VM crashes with recent
>>> changes.  It looks like the 4-bit Windows work has really affected things.
>>> What to do?
>>> Personally I'd like to see the type inferrence and platform changes
>>> reverted and the work put on a fork.  But that's just my opinion.  Thoughts?
>>> _,,,^..^,,,_
>>> best, Eliot
>> --
>> ============================================================
>> ===============
>> John M. McIntosh. Corporate Smalltalk Consulting Ltd
>> https://www.linkedin.com/in/smalltalk
>> ============================================================
>> ===============

best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20160811/fdf12b48/attachment-0001.htm

More information about the Vm-dev mailing list