Hi,
environment: Mac VM 4.2.3beta1U. Running all tests in a fresh trunk yields "2641 run, 2618 passes, 6 expected failures, 8 failures, 2 errors, 7 unexpected passes" (see attachment 1). So far so good, but clicking on the second error (LocaleTest >> #testLocaleChanged) yields attachment 2 - the test method is not even on the call stack. It doesn't look right. Insights, anyone? Best, Michael Squeak VM Schnappschuss003.png (20K) Download Attachment Squeak VM Schnappschuss004.png (37K) Download Attachment |
On Fri, Mar 26, 2010 at 12:01 PM, Michael Haupt <[hidden email]> wrote: Hi, The ObsoleteMethodProperties instance will be due to some compiled method or process being held onto by some reference that needs reinitializing. Hopefully the instance will contain a valid selector which will be a big clue.
The release process should include a step that at least reinitializes all background processes, sorted collection blocks etc, and hence ensures that all compiled methods are up-to-date. One release test would be to compare CompiledMethod allInstances with those collected by traversing the class hierarchy. The two should be the same set, except for perhaps the doit used to evaluate this. e.g.
| installedMethods allMethods | allMethods := CompiledMethod allInstances asSet. installedMethods := Set new: allMethods size. installedMethods add: thisContext method. "in case this is a doit"
Smalltalk rootsOfTheWorld do: [:class| class withAllSubclasses do: [:behavior| behavior selectorsAndMethodsDo: [:s :m| installedMethods add: m]]].
self assert: allMethods size = installedMethods size best Eliot
|
2010/3/26 Eliot Miranda <[hidden email]>:
> > > On Fri, Mar 26, 2010 at 12:01 PM, Michael Haupt <[hidden email]> wrote: >> >> Hi, >> >> environment: Mac VM 4.2.3beta1U. Running all tests in a fresh trunk >> yields "2641 run, 2618 passes, 6 expected failures, 8 failures, 2 >> errors, 7 unexpected passes" (see attachment 1). So far so good, but >> clicking on the second error (LocaleTest >> #testLocaleChanged) yields >> attachment 2 - the test method is not even on the call stack. It >> doesn't look right. >> >> Insights, anyone? > Oops, did I remove it a bit early ? My images are expunged for several months of these objects... Can you try (Utilities postRecompileCleanup) and tell if it fixed it ? Nicolas > The ObsoleteMethodProperties instance will be due to some compiled method or > process being held onto by some reference that needs reinitializing. > Hopefully the instance will contain a valid selector which will be a big > clue. > The release process should include a step that at least reinitializes all > background processes, sorted collection blocks etc, and hence ensures that > all compiled methods are up-to-date. > One release test would be to compare CompiledMethod allInstances with those > collected by traversing the class hierarchy. The two should be the same > set, except for perhaps the doit used to evaluate this. e.g. > | installedMethods allMethods | > allMethods := CompiledMethod allInstances asSet. > installedMethods := Set new: allMethods size. > installedMethods add: thisContext method. "in case this is a doit" > Smalltalk rootsOfTheWorld do: > [:class| > class withAllSubclasses do: > [:behavior| > behavior selectorsAndMethodsDo: > [:s :m| installedMethods add: m]]]. > self assert: allMethods size = installedMethods size > best > Eliot > >> >> Best, >> >> Michael >> >> >> > > > > > |
Hi Nicolas,
On Fri, Mar 26, 2010 at 8:57 PM, Nicolas Cellier <[hidden email]> wrote: > Oops, did I remove it a bit early ? > My images are expunged for several months of these objects... remove what? :-) Honestly, could you please explain? > Can you try (Utilities postRecompileCleanup) and tell if it fixed it ? That helped indeed; thanks. I now have "2641 run, 2620 passes, 6 expected failures, 8 failures, 0 errors, 7 unexpected passes". Still not green, but better. :-) Best, Michael |
2010/3/26 Michael Haupt <[hidden email]>:
> Hi Nicolas, > > On Fri, Mar 26, 2010 at 8:57 PM, Nicolas Cellier > <[hidden email]> wrote: >> Oops, did I remove it a bit early ? >> My images are expunged for several months of these objects... > > remove what? :-) > Honestly, could you please explain? > Oh sure, the obsolete MethodProperties. I just removed the archeological class which is found only in pre-closure CompiledMethod-Saurus. >> Can you try (Utilities postRecompileCleanup) and tell if it fixed it ? > > That helped indeed; thanks. I now have "2641 run, 2620 passes, 6 > expected failures, 8 failures, 0 errors, 7 unexpected passes". > > Still not green, but better. :-) > > Best, > > Michael > > Then I should put this code snippet in some MC postscript, publish a MCM, then remove the postcript. That should help transition in all images. Nicolas |
Free forum by Nabble | Edit this page |