On Wed, May 9, 2012 at 3:39 PM, Stéphane Ducasse <[email protected]> wrote: >>> Now I do not understand why this guy cannot get printed. >>> >>> I do not see why >>> >>> ClassDescription>>printOn: aStream >>> aStream nextPutAll: self name >>> >>> Metaclass>>name >>> "Answer a String that is the name of the receiver, either >>> 'Metaclass' or >>> the name of the receiver's class followed by ' class'." >>> >>> thisClass == nil >>> ifTrue: [^'a Metaclass'] >>> ifFalse: [^thisClass name , ' class'] >>> >>> self first soleInstance printString >>> -> leads to have emergency debugger. > > you do not get emergency! > I do not like when we do not get the same bugs…
on some inst vars and expressions I get the emergency evaluator. > > >> self name shows: >> >> a Dictionary(#DependentsFields->a WeakIdentityKeyDictionary(a >> CategoryWidget->a DependentsArray(a PluggableIconListMorph(217841664)) >> a ContextVariablesInspector->a DependentsArray(a >> PluggableListMorph(445382656) a PluggableTextMorph(1046216704)) a >> ContextVariablesInspector->a DependentsArray(a >> PluggableListMorph(290193408) ... ) >> >> The source of printing problems will be in thisClass. >> >> The next interesting thing is that it has no pointers and it is >> removed after garbageCollect. > > So this is a good news :). The question is what produced such strange object and how many similar ones we still have in the image. It can have very unwelcome consequences - for example the segmentation faults on Fuel packages exports when executed from command line. But from workspace it behaves differently. -- Pavel > >> >> -- Pavel >> >> >> >> >>> Stef >>> >>> >>> >>> >>> >> > >
