tests in trunk: very strange

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

tests in trunk: very strange

Michael Haupt-3
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
Reply | Threaded
Open this post in threaded view
|

Re: tests in trunk: very strange

Eliot Miranda-2


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?

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






Reply | Threaded
Open this post in threaded view
|

Re: tests in trunk: very strange

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

Reply | Threaded
Open this post in threaded view
|

Re: tests in trunk: very strange

Michael Haupt-3
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

Reply | Threaded
Open this post in threaded view
|

Re: tests in trunk: very strange

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