[Vm-dev] New Cog VMs available

karl ramberg karlramberg at gmail.com
Tue Oct 14 07:13:15 UTC 2014

Do you have a prefered way to build a image or a link to a current image in
a good state ?


On Mon, Oct 13, 2014 at 8:48 PM, Eliot Miranda <eliot.miranda at gmail.com>

> Hi Karl,
>     I've been looking at a bug that Stéphane Rollandin uncovered in the V3
> GC.  I've just fixed it and suspect it might be the same bug that is biting
> you.  I wonder if you can do me a favour.  Can you try and construct a
> version of your bug that crashes without user intervention?  i.e. in e.g. a
> workspace evaluate
>     Smalltalk snapshot: true andQuit: true.
>     1 to: 50 do:[: i | Browser open]
> and then verify that the image crashes on startup?  And then save that
> image (or mail me a copy)?  The reason is that the bug is very sensitive to
> allocation order and so won't crash reliably if started from a menu pick,
> where the exact timing, movement of the mouse etc can all change object
> allocation.  With the saved snapshot, however, everything is unchanged
> except code determined by the date the image is started in, the directory
> it is started in, etc.  But it is much moire predictable.  Once there's a
> reliably crashing image it is easy to check whether a new VM fixes the bug
> or not.
> On Sun, Oct 12, 2014 at 7:32 AM, karl ramberg <karlramberg at gmail.com>
> wrote:
>> The cogspurwin-14.39.3095
>> <http://www.mirandabanda.org/files/Cog/VM/VM.r3095/cogspurwin-14.39.3095.zip> vm
>> crashes when I run
>> 1 to: 50 do:[: i | Browser open]
>> Crash dump attached.
>> Karl
>> On Sat, Oct 4, 2014 at 2:17 AM, Eliot Miranda <eliot.miranda at gmail.com>
>> wrote:
>>> ...at http://www.mirandabanda.org/files/Cog/VM/VM.r3095/.
>>> CogVM binaries as per VMMaker.oscog-eem.890/r3095
>>> Fix line-buffered input in sqFilePluginBasicPrims.c when buffer size > 1.
>>> fread cannot be relied upon to answer lines.
>>> Fix bug in Cogit>>lookup:for:methodAndErrorSelectorInto: which if
>>> cogging a
>>> method found through an MNU would set the cog method's selector to the
>>> original
>>> selector that was not understood instead of #doesNotUnderstand:.
>>> Fix the description of the blockonwarn flag (not blockonwarning).
>>> Spur:
>>> Fix one-way become for classes with and without copyHash, primarily by
>>> fixing
>>> allInstances.  One-way become for classes causes duplicates in the class
>>> table
>>> (either that or an allInstances scan would be needed as part of the
>>> become to
>>> change instances referring to the deleted class index, which would be
>>> slow).
>>> So allInstances must be able to cope with duplicates.  Hence split it
>>> into a
>>> fast path common case when the class in question is not duplicated, and
>>> a slower
>>> path when it is.  Make both the marking phase of GC and allInstances
>>> check for
>>> and eliminate refereces to duplicate entries at wrong/obsolete class
>>> indices.
>>> Fix markAndShouldScan: to not scan the pun classes of non-objects on the
>>> heap
>>> such as implicit receiver caches and Sista counters.
>>> Eliminate the classTableBitmap premature optimization.  All the
>>> information we
>>> need is in the cassTable and the class's hashes therein.
>>> Change pinObject: to answer 0 on failure and the (possibly moved) object
>>> on
>>> success.  Much easier than having to check and follow forwarding pointer.
>>> The changes to
>>> platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c
>>> in r3092 in a Spur MT VM depend on this.
>>> --
>>> best,
>>> Eliot
> --
> thanks in advance,
> Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20141014/fdd3586b/attachment.htm

More information about the Vm-dev mailing list