It also happened on a 20032 image (see screenshot). Smalltalk cleanUp didn't solve the issue here. Please, note the Unnamed Changeset with a Dictionary... - Francisco On 9 May 2012 20:27, Pavel Krivanek <pavel.krivanek@gmail.com> wrote:
On Wed, May 9, 2012 at 3:39 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> 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