Another missing snapshot: SmallLand-ColorTheme-fbs.6

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
29 messages Options
12
Reply | Threaded
Open this post in threaded view
|

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

fniephaus
When trying to update the base image [1], I now get a network error after CommandLine-tpr.9. Clicking on "Retry" produces the result from below. AFAICT, CI fails in the same way [2].

Fabio


image.png
--

On Mon, Feb 5, 2018 at 5:54 PM Nicolas Cellier <[hidden email]> 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...


2018-02-05 17:17 GMT+01:00 Eliot Miranda <[hidden email]>:
Hi All,

On Feb 5, 2018, at 7:25 AM, Marcel Taeumel <[hidden email]> 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 <[hidden email]>:

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
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







Reply | Threaded
Open this post in threaded view
|

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

Eliot Miranda-2
In reply to this post by Nicolas Cellier
Hi Nicolas,


On Feb 5, 2018, at 8:54 AM, Nicolas Cellier <[hidden email]> 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?


2018-02-05 17:17 GMT+01:00 Eliot Miranda <[hidden email]>:
Hi All,

On Feb 5, 2018, at 7:25 AM, Marcel Taeumel <[hidden email]> 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 <[hidden email]>:

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
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>








Reply | Threaded
Open this post in threaded view
|

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

Levente Uzonyi
On Mon, 5 Feb 2018, Eliot Miranda wrote:

> Hi Nicolas,
>
>
> On Feb 5, 2018, at 8:54 AM, Nicolas Cellier <[hidden email]> 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.
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 <[hidden email]>:
>             Hi All,
>
> On Feb 5, 2018, at 7:25 AM, Marcel Taeumel <[hidden email]> 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 <[hidden email]>:
>
>       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
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>
>
>
>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

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

Levente Uzonyi
In reply to this post by fniephaus
Does it happen on 64-bit? Is there a 64-bit base image?

Levente

On Mon, 5 Feb 2018, Fabio Niephaus wrote:

> When trying to update the base image [1], I now get a network error after CommandLine-tpr.9. Clicking on "Retry" produces the result from below. AFAICT, CI fails in the same way [2].
> Fabio
>
> [1] http://files.squeak.org/base/Squeak-trunk/base.zip
> [2] https://travis-ci.org/squeak-smalltalk/squeak-app/jobs/337607796#L3891
>
> image.png --
>
> On Mon, Feb 5, 2018 at 5:54 PM Nicolas Cellier <[hidden email]> 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...
>
>
> 2018-02-05 17:17 GMT+01:00 Eliot Miranda <[hidden email]>:
>       Hi All,
>
> On Feb 5, 2018, at 7:25 AM, Marcel Taeumel <[hidden email]> 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 <[hidden email]>:
>
>       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
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>
>
>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

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

fniephaus
On Mon, Feb 5, 2018 at 6:43 PM Levente Uzonyi <[hidden email]> wrote:
Does it happen on 64-bit? Is there a 64-bit base image?

Yes, and yes (see [1] and [2]).

Fabio

 

Levente

On Mon, 5 Feb 2018, Fabio Niephaus wrote:

> When trying to update the base image [1], I now get a network error after CommandLine-tpr.9. Clicking on "Retry" produces the result from below. AFAICT, CI fails in the same way [2].
> Fabio
>
> [1] http://files.squeak.org/base/Squeak-trunk/base.zip
> [2] https://travis-ci.org/squeak-smalltalk/squeak-app/jobs/337607796#L3891
>
> image.png --
>
> On Mon, Feb 5, 2018 at 5:54 PM Nicolas Cellier <[hidden email]> 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...
>
>
> 2018-02-05 17:17 GMT+01:00 Eliot Miranda <[hidden email]>:
>       Hi All,
>
> On Feb 5, 2018, at 7:25 AM, Marcel Taeumel <[hidden email]> 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 <[hidden email]>:
>
>       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
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>
>
>
>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

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

Levente Uzonyi
In reply to this post by fniephaus
This seems to be a classic. Too many methods have changed and the code
used by the updater is not being updated.
I don't know exactly why the NetworkError is raised, but when you click
retry, the next error is from HandMorph >> #handleEvent:, because that
method is from 2015, and it's not compatible any more with the code
already loaded by the update process.
It's very likely that the NetworkError is raised for the same reason.

It was discussed before that the updater should go update-by-update
instead of trying to load everything at once because of this issue. We
could probably fork a new process to load the next update map.

If you abandon the error and restart the update process, then everything
is fine.

Levente

On Mon, 5 Feb 2018, Fabio Niephaus wrote:

> When trying to update the base image [1], I now get a network error after CommandLine-tpr.9. Clicking on "Retry" produces the result from below. AFAICT, CI fails in the same way [2].
> Fabio
>
> [1] http://files.squeak.org/base/Squeak-trunk/base.zip
> [2] https://travis-ci.org/squeak-smalltalk/squeak-app/jobs/337607796#L3891
>
> image.png --
>
> On Mon, Feb 5, 2018 at 5:54 PM Nicolas Cellier <[hidden email]> 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...
>
>
> 2018-02-05 17:17 GMT+01:00 Eliot Miranda <[hidden email]>:
>       Hi All,
>
> On Feb 5, 2018, at 7:25 AM, Marcel Taeumel <[hidden email]> 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 <[hidden email]>:
>
>       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
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>
>
>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

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

fniephaus
On Mon, Feb 5, 2018 at 7:12 PM Levente Uzonyi <[hidden email]> wrote:
This seems to be a classic. Too many methods have changed and the code
used by the updater is not being updated.
I don't know exactly why the NetworkError is raised, but when you click
retry, the next error is from HandMorph >> #handleEvent:, because that
method is from 2015, and it's not compatible any more with the code
already loaded by the update process.
It's very likely that the NetworkError is raised for the same reason.

It was discussed before that the updater should go update-by-update
instead of trying to load everything at once because of this issue. We
could probably fork a new process to load the next update map.

Sounds reasonable to me. Could someone please try this out?
 

If you abandon the error and restart the update process, then everything
is fine.

Right, not sure if this is how we want to "fix" this on CI though.

Fabio
 

Levente

On Mon, 5 Feb 2018, Fabio Niephaus wrote:

> When trying to update the base image [1], I now get a network error after CommandLine-tpr.9. Clicking on "Retry" produces the result from below. AFAICT, CI fails in the same way [2].
> Fabio
>
> [1] http://files.squeak.org/base/Squeak-trunk/base.zip
> [2] https://travis-ci.org/squeak-smalltalk/squeak-app/jobs/337607796#L3891
>
> image.png --
>
> On Mon, Feb 5, 2018 at 5:54 PM Nicolas Cellier <[hidden email]> 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...
>
>
> 2018-02-05 17:17 GMT+01:00 Eliot Miranda <[hidden email]>:
>       Hi All,
>
> On Feb 5, 2018, at 7:25 AM, Marcel Taeumel <[hidden email]> 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 <[hidden email]>:
>
>       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
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>       >
>
>
>
>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

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

Eliot Miranda-2
In reply to this post by Levente Uzonyi


On Mon, Feb 5, 2018 at 9:42 AM, Levente Uzonyi <[hidden email]> wrote:
On Mon, 5 Feb 2018, Eliot Miranda wrote:

Hi Nicolas,


On Feb 5, 2018, at 8:54 AM, Nicolas Cellier <[hidden email]> 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 <[hidden email]>:
            Hi All,

On Feb 5, 2018, at 7:25 AM, Marcel Taeumel <[hidden email]> 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 <[hidden email]>:

      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


Reply | Threaded
Open this post in threaded view
|

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

Bert Freudenberg
On 5 February 2018 at 19:57, Eliot Miranda <[hidden email]> wrote:

On Mon, Feb 5, 2018 at 9:42 AM, Levente Uzonyi <[hidden email]> wrote:

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?

​It is so simple that ​it should be as robust as possible under the current state of things:

The whole update map (all versions in it) is scanned for definitions that are about to be removed from one package and added to another. That is, only the category will change, the actual method and class stays the same. These reorganizations are executed in advance. That's it. The code is in MCReorganizationPreloader.

Following this, each version in the update map is loaded, in order, without any knowledge of the reorganization step. If a definition is in fact moved from a package to another, the preloader will have moved it already and made both packages dirty. That means a full diff will be performed for these packages, and as usual, only the actual differences are performed to bring the working copy in the image up-to-date with the snapshot to be loaded.

As a last step, the working copies that have been made dirty by the preloader will be checked again and marked clean if they do match the snapshot.

This is not the issue. The issue was that a config map was changed accidentally so that the removal and addition now were in two separate config maps. That means the reorganization preloader could not see them. Boom.

​- Bert -​



12