StandardFileStream>>name sometimes returns nil. As long as I *roughly* checked the (over 400) call sites of #name method, I found SystemDictionary>>browseAllObjectReferencesTo:except:ifNone: is a place where the execution would result in sending #size to nil object.
The following is the patch for the method, but making StandardFileStream>>name return non-nil object could be another solution.
OHSHIMA Yoshiki Dept. of Mathematical and Computing Sciences Tokyo Institute of Technology
!SystemDictionary methodsFor: 'browsing' stamp: 'yo 5/4/1999 16:37' prior: 21723495! browseAllObjectReferencesTo: anObject except: objectsToExclude ifNone: aBlock "Bring up a list inspector on the objects that point to anObject. If there are none, then evaluate aBlock on anObject. "
| aList shortName | aList _ Smalltalk pointersTo: anObject except: objectsToExclude. aList size > 0 ifFalse: [^ aBlock value: anObject]. shortName _ anObject name. shortName ifNil: [shortName _ '']. shortName size > 12 ifTrue: [ shortName _ (shortName truncateTo: 12), '...'. ]. OrderedCollectionInspector openOn: aList withEvalPane: false withLabel: 'Objects pointing to ', shortName. ! !
squeak-dev@lists.squeakfoundation.org