How can you have an instance of a class X if the class X doesn't "exist" anymore? The whole point here is that an object's class is also a strong reference to the class, and generally it's skipped by object reference finders. The way you find those is by sending allInstances (or equivalent) to the class.

On 6/3/13 2:19 , Sebastian Tleye wrote:
This happens when you have instances of the class and the class doesn't
exists anymore.
"Smalltalk fixObsoleteReferences" didn't completely work for me when i
had that problem, i had to find out where those references were.
I think looking for strong pointers of the ObsoleteClass would be a good
start.


2013/6/3 Andres Valloud <avall...@smalltalk.comcastbiz.net
<mailto:avall...@smalltalk.comcastbiz.net>>

    Maybe they have instances.  GC can't remove a class under its instances.


    On 6/3/13 2:14 , Gisela Decuzzi wrote:

        Hi, I'm trying to fix this, I have Obsolete classes in the
        system and I
        want to remove them, as long as I understood this is because this
        classes are gone and in some point someone is referencing them.

        I do an extended search an get nothing, but still the obsolete
        classes
        are there... I don't find no one with references to it but if I run:
        SystemNavigation new obsoleteClassesselect: [ :each | each
        isAnonymous

        not ]
        I get the problem classes.

        I found this thread about a similar issue but don't know how to
        solve
        the problem
        
http://lists.gforge.inria.fr/__pipermail/pharo-project/2011-__January/038824.html
        
<http://lists.gforge.inria.fr/pipermail/pharo-project/2011-January/038824.html>

        Maybe someone could help me...




Reply via email to