[squeak-dev] Trunk update works again (Re: Kernel-nice.1127 freezes image (was Another missing snapshot: SmallLand-ColorTheme-fbs.6))

Eliot Miranda eliot.miranda at gmail.com
Mon Feb 5 18:57:30 UTC 2018


On Mon, Feb 5, 2018 at 9:42 AM, Levente Uzonyi <leves at caesar.elte.hu> wrote:

> On Mon, 5 Feb 2018, Eliot Miranda wrote:
>
> Hi Nicolas,
>>
>>
>> On Feb 5, 2018, at 8:54 AM, Nicolas Cellier <
>> nicolas.cellier.aka.nice at gmail.com> wrote:
>>
>>       Hi Eliot,
>> the process you are proposing is not necessary.
>> Bert modified mcm process so that changes are grouped, avoiding most
>> load-order problems we had previously.
>>
>> The problem here was that I was working on a different feature requiring
>> a mcm (I think due to a postscript or something like that).
>> Normally, I update all the packages from the image version or the
>> repository version when publishing an update map.
>> But this time I didn't, I think because I experienced time-out when
>> trying to do so...
>> So I manually updated only the part I was working on (Kernel), thus the
>> mistake...
>>
>>
>> I don't understand.  If the packages are loaded in the other order the
>> code goes missing temporarily and the image can crash.  Update maps enforce
>> the ordering and fix the problem.  Whatever grouping Bert has
>> engineered is a good thing, but the only thing I can see that we have to
>> guarantee ordering is update maps.
>> Bert?
>>
>
> As long as both package versions (the one that the method was removed and
> the one that the method was moved to) are in the same update map, it'll
> just work.
>

Is it robust in the presence of interrupts and restarts of the update
process?


> What Bert did was to make the order of the packages in the update map
> irrelevant when you move a method from one package to another.
> In the current case the version of the package the method was moved to was
> not part of the update map, so the method got lost during the update.
>
> Levente
>
>
>
>>
>>       2018-02-05 17:17 GMT+01:00 Eliot Miranda <eliot.miranda at gmail.com>:
>>             Hi All,
>>
>> On Feb 5, 2018, at 7:25 AM, Marcel Taeumel <marcel.taeumel at hpi.de> wrote:
>>
>>       Object >> #currentHand was moved from "Kernel" to "Morphic" back
>> then.
>>
>>
>> I don't want to flog a dead horse, but...
>> Do we document the correct approach anywhere easily visible?  When moving
>> code between packages when that code is needed, the correct way is to...
>>
>> 1. Commit the package to which the code is moving, /not/ committing the
>> package from which it has moved yet
>> 2. Commit an update configuration
>> 3. Commit the package from which the code has moved
>>
>> Hence on update the package to which the code is moving is loaded first,
>> leaving the other package dirty but the code still present, and then the
>> package from which the code has moved is loaded,
>> leaving the code in place at all times.
>>
>> This is simple and perhaps non-obvious.  We need to have this, plus
>> similar verbiage about delegate system changes, documented and visible to
>> our users.
>>
>>
>> Best,
>> Marcel
>>
>>       Am 05.02.2018 16:20:04 schrieb Levente Uzonyi <leves at caesar.elte.hu
>> >:
>>
>>       Hi All,
>>
>>       I went ahead and removed update-nice.422 from the Trunk. The only
>>       difference between update-nice.422 and update-bf.422 was that the
>> former
>>       included Morphic-mt.1350 while the latter referenced
>> Morphic-dtl.1374.
>>       This was a significant difference, because after loading
>> Morphic-mt.1350,
>>       Object >> #currentHand and friends were temporarily removed from the
>>       image, which somehow resulted in the removal of the UI process
>> without an
>>       emergency evaluator ever appearing. I think that's something to be
>>       investigated.
>>
>>       After this change, I could successfully update the latest Trunk
>> image
>>       available on files.squeak.org.
>>
>>       I could do this removal only because the members of the Squeak
>> Oversight
>>       Board group on source.squeak.org have not been updated since 2016.
>> For the
>>       very same reason, Nicolas couldn't have done this change.
>>
>>       Levente
>>
>>       On Sun, 4 Feb 2018, Bert Freudenberg wrote:
>>
>>       > Log in to source.squeak.org, trunk repo, "edit configs", pick
>> mine, delete.
>>       >
>>       > Before that you might download the config you're about to delete
>> since there is no backup.
>>       >
>>       > - Bert -
>>       >
>>       > On 2 February 2018 at 21:39, Nicolas Cellier wrote:
>>       > Just in case, I've aligned update-nice.422 with update-bf.422,
>> hope it helps...
>>       >
>>       > 2018-02-02 21:34 GMT+01:00 Nicolas Cellier :
>>       > So the necessary Morphic-dtl.1362.mcz was not in update-nice.422,
>> apologies.
>>       > update-nice.422 should be updated.
>>       >
>>       > Now I see a concurrent update-bf.422, how will it work?
>>       >
>>       > 2018-02-02 21:11 GMT+01:00 Nicolas Cellier :
>>       > Hi,
>>       > I think that it's related to The Trunk: Kernel-dtl.1123.mcz
>>       > http://source.squeak.org/trunk/Kernel-dtl.1123.diff
>>       >
>>       > The missing methods are moved in The Trunk: Morphic-dtl.1362.mcz
>>       > http://source.squeak.org/trunk/Morphic-dtl.1362.diff
>>       >
>>       > So a proper mcm configuration should solve it
>>       >
>>       > 2018-01-30 23:47 GMT+01:00 Fabio Niephaus :
>>       > Clicking the update button another time seemed to have fixed the
>> missing snapshot problem. I tried it a couple of times, but maybe got
>> unlucky with the SqueakSource server.
>>       > Anyway, now installing Kernel-nice.1127 freezes the image and I'm
>> unable to interrupt it. SqueakDebug.log reveals the problem:
>>       >
>>       > --- The full stack ---
>>       > TextMorph(Object)>>doesNotUnderstand: #currentHand
>>       > [] in TextMorph>>createParagraph
>>       > BlockClosure>>ensure:
>>       > TextMorph>>createParagraph
>>       > TextMorph>>paragraph
>>       > TextMorph>>newContents:
>>       > TextMorph>>contentsAsIs:
>>       > MorphicProject>>composeDisplayTextIntoForm:
>>       > DisplayText>>composeForm
>>       > DisplayText>>form
>>       > DisplayText>>displayOn:at:clippingBox:rule:fillColor:
>>       > DisplayText(DisplayObject)>>displayOn:at:
>>       > ByteString(String)>>displayOn:at:textColor:
>>       > ByteString(String)>>displayOn:at:
>>       > ByteString(String)>>displayAt:
>>       > Project class>>tryEmergencyEvaluatorForRecovery:
>>       > Project class>>handlePrimitiveError:
>>       > MorphicProject(Object)>>primitiveError:
>>       > MorphicProject(Project)>>handleFatalDrawingError:
>>       >  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>       >
>>       > Could someone please look into this? Thanks!
>>       >
>>       > Fabio
>>       >
>>       > image.png
>>       >
>>       > ---------- Forwarded message ---------
>>       > From: Bert Freudenberg
>>       > Date: Tue, Jan 30, 2018 at 11:30 PM
>>       > Subject: Re: [squeak-dev] Another missing snapshot:
>> SmallLand-ColorTheme-fbs.6
>>       > To: The general-purpose Squeak developers list
>>       >
>>       >
>>       > Looks fine to me:
>>       >
>>       > http://source.squeak.org/trunk/SmallLand-ColorTheme-fbs.6.mcz
>>       >
>>       > - Bert -
>>       >
>>       > --
>>       >
>>       > On 30 January 2018 at 22:03, Fabio Niephaus wrote:
>>       > Hi all,
>>       >
>>       > Updating the trunk base image [1] throws another missing snapshot
>> error. This time it's SmallLand-ColorTheme-fbs.6. Could someone please
>> fix this as it's blocking trunk builds?
>>       >
>>       > Thanks,
>>       > Fabio
>>       >
>>       > [1] http://files.squeak.org/base/Squeak-trunk/base.zip
>>       >
>>       > image.png
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>       >
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
>


-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180205/f3222aa1/attachment.html>


More information about the Squeak-dev mailing list