problem with obsolete classes in latest core

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

problem with obsolete classes in latest core

Mariano Martinez Peck
It seems there is a problem with obsolete classes.

SystemNavigation default obsoleteClasses  -> an Array(AnObsoleteWordArray AnObsoletePath AnObsoleteLine)

If you then browse WordArrayForSegment, you will see that it is a subclass from AnObsoleteWordArray. Changing that, back to WordArray, and then evaluating:

Compiler recompileAll.
Smalltalk fixObsoleteReferences.

SystemNavigation default obsoleteClasses  ->>> an Array(AnObsoleteWordArray)

But I cannot get rid of that final obsoletClass.

I tried inspecting SystemNavigation default obsoleteClasses and checking the pointers to the obsolete class, but I couldn't find anything.

BTW, issue 3864  is failing because of that.

cheers

mariano
Reply | Threaded
Open this post in threaded view
|

Re: problem with obsolete classes in latest core

Marcus Denker-4

On Mar 24, 2011, at 7:25 PM, Mariano Martinez Peck wrote:
Compiler recompileAll.
Smalltalk fixObsoleteReferences.

SystemNavigation default obsoleteClasses  ->>> an Array(AnObsoleteWordArray)

But I cannot get rid of that final obsoletClass.


If you check for the users of WordArray, they are stored in some class vars...

BalloonEngine initialize.
DataStream initialize.
DeflateStream initialize.
FastInflateStream initialize.
ZipConstants initialize.
ZipWriteStream initialize.
PNGReadWriter initialize

seems to solve it.


--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.

Reply | Threaded
Open this post in threaded view
|

Re: problem with obsolete classes in latest core

Mariano Martinez Peck


On Fri, Mar 25, 2011 at 3:41 PM, Marcus Denker <[hidden email]> wrote:

On Mar 24, 2011, at 7:25 PM, Mariano Martinez Peck wrote:
Compiler recompileAll.
Smalltalk fixObsoleteReferences.

SystemNavigation default obsoleteClasses  ->>> an Array(AnObsoleteWordArray)

But I cannot get rid of that final obsoletClass.


If you check for the users of WordArray, they are stored in some class vars...

BalloonEngine initialize.
DataStream initialize.
DeflateStream initialize.
FastInflateStream initialize.
ZipConstants initialize.
ZipWriteStream initialize.
PNGReadWriter initialize

seems to solve it.

Thanks Marcus...so...I am trying to understand the problem. You are saying that if there is a class stored in an instVar somewhere, and I remove/renamed or whatever that class, then those instVar will be pointing to the obsolete one?   fixObsoleteReferences only fixes CompiledMethods, doesn't it ?

cheers

Mariano




--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


Reply | Threaded
Open this post in threaded view
|

Re: problem with obsolete classes in latest core

Marcus Denker-4
In reply to this post by Marcus Denker-4

On Mar 25, 2011, at 3:44 PM, Mariano Martinez Peck wrote:



On Fri, Mar 25, 2011 at 3:41 PM, Marcus Denker <[hidden email]> wrote:

On Mar 24, 2011, at 7:25 PM, Mariano Martinez Peck wrote:
Compiler recompileAll.
Smalltalk fixObsoleteReferences.

SystemNavigation default obsoleteClasses  ->>> an Array(AnObsoleteWordArray)

But I cannot get rid of that final obsoletClass.


If you check for the users of WordArray, they are stored in some class vars...

BalloonEngine initialize.
DataStream initialize.
DeflateStream initialize.
FastInflateStream initialize.
ZipConstants initialize.
ZipWriteStream initialize.
PNGReadWriter initialize

seems to solve it.

Thanks Marcus...so...I am trying to understand the problem. You are saying that if there is a class stored in an instVar somewhere,

class var. 

and I remove/renamed or whatever that class, then those instVar will be pointing to the obsolete one? 

yes.

  fixObsoleteReferences only fixes CompiledMethods, doesn't it ?


yep.


--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.

Reply | Threaded
Open this post in threaded view
|

Re: problem with obsolete classes in latest core

Marcus Denker-4
In reply to this post by Marcus Denker-4

On Mar 25, 2011, at 3:46 PM, Marcus Denker wrote:

  fixObsoleteReferences only fixes CompiledMethods, doesn't it ?


yep.


And the trick to find them is to inspect

SystemNavigation default obsoleteClasses first allInstances 

and then use the "explore pointers" on that.

Marcus


--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.

Reply | Threaded
Open this post in threaded view
|

Re: problem with obsolete classes in latest core

Henrik Sperre Johansen

On Mar 25, 2011, at 3:48 33PM, Marcus Denker wrote:


On Mar 25, 2011, at 3:46 PM, Marcus Denker wrote:

  fixObsoleteReferences only fixes CompiledMethods, doesn't it ?


yep.


And the trick to find them is to inspect

SystemNavigation default obsoleteClasses first allInstances 

and then use the "explore pointers" on that.

Marcus



Soooo...
WordArrayForSegment in System-Object Storage is now a subclass of AnObsoleteWordArray?

What on earth did that update try to do? ;)

Cheers,
Henry
Reply | Threaded
Open this post in threaded view
|

Re: problem with obsolete classes in latest core

Henrik Sperre Johansen

On Mar 25, 2011, at 4:09 51PM, Henrik Johansen wrote:


On Mar 25, 2011, at 3:48 33PM, Marcus Denker wrote:


On Mar 25, 2011, at 3:46 PM, Marcus Denker wrote:

  fixObsoleteReferences only fixes CompiledMethods, doesn't it ?


yep.


And the trick to find them is to inspect

SystemNavigation default obsoleteClasses first allInstances 

and then use the "explore pointers" on that.

Marcus



Soooo...
WordArrayForSegment in System-Object Storage is now a subclass of AnObsoleteWordArray?

What on earth did that update try to do? ;)

Cheers,
Henry

Oh, move it from one category to another.

Figures that's so complicated an operation it would break all subclasses etc.

Cheers,
Henry
Reply | Threaded
Open this post in threaded view
|

Re: problem with obsolete classes in latest core

Henrik Sperre Johansen

On Mar 25, 2011, at 4:12 02PM, Henrik Johansen wrote:


On Mar 25, 2011, at 4:09 51PM, Henrik Johansen wrote:


On Mar 25, 2011, at 3:48 33PM, Marcus Denker wrote:


On Mar 25, 2011, at 3:46 PM, Marcus Denker wrote:

  fixObsoleteReferences only fixes CompiledMethods, doesn't it ?


yep.


And the trick to find them is to inspect

SystemNavigation default obsoleteClasses first allInstances 

and then use the "explore pointers" on that.

Marcus



Soooo...
WordArrayForSegment in System-Object Storage is now a subclass of AnObsoleteWordArray?

What on earth did that update try to do? ;)

Cheers,
Henry

Oh, move it from one category to another.

Figures that's so complicated an operation it would break all subclasses etc.

Cheers,
Henry

Why move them to begin with btw?
Are they not arrayed?
Isn't ByteArray "native" too, following whatever rationale was followed when moving Word/Float/IntegerArrays there?
How about the rest of the variable Word/Byte subclasses?

This way just looks silly, imho...

Cheers,
Henry