[BUG]UndefinedObject(Object)>>doesNotUnderstand: #<

Michal michal-list at auf.net
Tue Feb 22 21:10:04 UTC 2005


For the record, I've had that happening too intermittently on a debian
server. I have never been able to nail it down (or reproduce it
consistently), but it looked like some previous UUID generator was
locking up /dev/urandom. Simple 'cat'-ing /dev/urandom used to cure
the situation, as did an ugly variety of workarounds...

Michal


On Mon, Feb 21, 2005 at 11:32:22PM -1000, hall.cj at verizon.net wrote:
> here insert explanation of what you were doing, suspect changes you've
> made and so forth.
> 
> 21 February 2005 11:07:59 pm
> 
> VM: unix - a SmalltalkImage
> Image: Squeak3.7 [latest update: #5989]
> 
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /home/rocktiger/squeak/3.7
> Trusted Dir /home/rocktiger/squeak/3.7/secure
> Untrusted Dir /home/rocktiger/squeak/3.7/untrusted
> 
> UndefinedObject(Object)>>doesNotUnderstand: #<
> 	Receiver: nil
> 	Arguments and temporary variables: 
> 		aMessage: 	< 64
> 	Receiver's instance variables: 
> nil
> 
> Integer class>>byte1:byte2:byte3:byte4:
> 	Receiver: Integer
> 	Arguments and temporary variables: 
> 		byte1: 	nil
> 		byte2: 	nil
> 		byte3: 	nil
> 		byte4: 	nil
> 		value: 	nil
> 	Receiver's instance variables: 
> 		superclass: 	Number
> 		methodDict: 	a MethodDictionary(#*->a CompiledMethod (474) #+->a
> CompiledMethod ...etc...
> 		format: 	2
> 		instanceVariables: 	nil
> 		organization: 	('testing' even isInteger isPowerOfTwo)
> ('arithmetic' * + - / // ...etc...
> 		subclasses: 	#(SmallInteger LargePositiveInteger)
> 		name: 	#Integer
> 		classPool: 	a Dictionary()
> 		sharedPools: 	nil
> 		environment: 	nil
> 		category: 	nil
> 
> [] in UUIDGenerator>>makeUnixSeed {[strm := (FileStream
> readOnlyFileNamed: '/dev/urandom') binary.  answer := I...]}
> 	Arguments and temporary variables: 
> 		strm: 	StandardFileStream: '/dev/urandom'
> 		answer: 	nil
> 
> BlockContext>>on:do:
> 	Receiver: [] in UUIDGenerator>>makeUnixSeed {[strm := (FileStream
> readOnlyFileNamed: '/dev/urandom')...etc...
> 	Arguments and temporary variables: 
> 		exception: 	FileStreamException
> 		handlerAction: 	[] in UUIDGenerator>>makeUnixSeed {[answer := nil]}
> 		handlerActive: 	true
> 	Receiver's instance variables: 
> 		sender: 	BlockContext>>on:do:
> 		pc: 	62
> 		stackp: 	0
> 		nargs: 	0
> 		startpc: 	46
> 		home: 	UUIDGenerator>>makeUnixSeed
> 
> 
> --- The full stack ---
> UndefinedObject(Object)>>doesNotUnderstand: #<
> Integer class>>byte1:byte2:byte3:byte4:
> [] in UUIDGenerator>>makeUnixSeed {[strm := (FileStream
> readOnlyFileNamed: '/dev/urandom') binary.  answer := I...]}
> BlockContext>>on:do:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> UUIDGenerator>>makeUnixSeed
> UUIDGenerator>>makeSeed
> UUIDGenerator>>setupRandom
> UUIDGenerator>>initialize
> UUIDGenerator class(Behavior)>>new
> UUIDGenerator class>>generateDefault
> UUIDGenerator class>>default
> UUID>>primMakeUUID
> UUID>>initialize
> UUID class(Behavior)>>new:
> UUID class>>fromString:
> SMSqueakMap>>objectWithId:
> SMSqueakMap>>packageWithId:
> SMLoader>>installedReleaseOfMe
> SMLoader>>installPackageRelease:
> SMLoader>>installPackageRelease
> SMLoader>>perform:orSendTo:
> [] in MenuItemMorph>>invokeWithEvent: {[(selArgCount := selector
> numArgs) = 0   ifTrue: [target perform: selector] ...]}
> BlockContext>>ensure:
> CursorWithMask(Cursor)>>showWhile:
> MenuItemMorph>>invokeWithEvent:
> MenuItemMorph>>mouseUp:
> MenuItemMorph>>handleMouseUp:
> MouseButtonEvent>>sentTo:
> MenuItemMorph(Morph)>>handleEvent:
> MorphicEventDispatcher>>dispatchDefault:with:
> MorphicEventDispatcher>>dispatchEvent:with:
> MenuItemMorph(Morph)>>processEvent:using:
> MorphicEventDispatcher>>dispatchDefault:with:
> MorphicEventDispatcher>>dispatchEvent:with:
> MenuMorph(Morph)>>processEvent:using:
> MenuMorph(Morph)>>processEvent:
> MenuMorph>>handleFocusEvent:
> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. 
> ActiveEvent := anEvent.  result := focusHolder     han...]}
> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
> BlockContext>>on:do:
> PasteUpMorph>>becomeActiveDuring:
> HandMorph>>sendFocusEvent:to:clear:
> HandMorph>>sendEvent:focus:clear:
> HandMorph>>sendMouseEvent:
> HandMorph>>handleEvent:
> HandMorph>>processEvents
> [] in WorldState>>doOneCycleNowFor: {[:h |  ActiveHand := h.  h
> processEvents.  capturingGesture := capturingGest...]}
> Array(SequenceableCollection)>>do:
> WorldState>>handsDo:
> WorldState>>doOneCycleNowFor:
> WorldState>>doOneCycleFor:
> PasteUpMorph>>doOneCycle
> [] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor
> yield.  false] whileFalse.  nil]}
> [] in BlockContext>>newProcess {[self value.  Processor
> terminateActive]}
> 



More information about the Squeak-dev mailing list