<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div>Hi,<br></div>I tried updating a relatively recent image from:<br><br><a href="http://files.squeak.org/6.0alpha/Squeak6.0alpha-16548-32bit/">http://files.squeak.org/6.0alpha/Squeak6.0alpha-16548-32bit/</a><br><br></div>What happens to me is an unhandled exception MNU Context>>terminateTo: during update 407.<br><br></div>Update 407 is loading Kernel.eem.1078 which is storing the new Kernel classes (Context rather than MethodContext)<br><br></div>Last change written in the change log is:<br><br>    Context removeSelector: #terminateTo:<br><br></div>Oh, but there's no such instruction in Kernel-eem.1078...<br></div>So what happens exactly which told the image to remove some just installed Context methods???<br><br></div>What happens before that is the boostrapContext in Kernel-eem.1077 preamble<br><br>    Smalltalk renameClassNamed: #MethodContext as: #Context<br><br></div>And what happens when we rename is in Environment>>renameClass:from:to:<br><br>    oldBinding := self declarationOf: oldName.<br>    declarations removeKey: oldName.<br>    self binding: oldBinding removedFrom: self.<br>    " re-route now undeclared oldBinding "<br>    oldBinding value: aClass.<br><br></div>That means that we have an Undeclared #MethodeContext => Context.<br><br></div>And what happens when we ask to remove MethodContext class?<br></div>We start removing Context!!!<br><br></div>So what might be necessary is to purgeUndeclared in Kernel-eem.1078 preamble.<br></div>And it will work if and only if we removed all MethodContext references.<br><div><div><br><br><div><div><div><br><div><br><br></div></div></div></div></div></div></div>