Hi,
I took a new squeak-web-118 image, opened the Universe Browser and attempted to update the package "OmniBrowser" from version 0.337 to 0.342.
The result was a DNU for #packages sent to nil, the report is below:
I feel helpless to fix this; I believe it has to do with the Universe Browser trying to refresh whilst the update is loading. "parent" is nil (?)
I'm hoping for two things - first is a fix so I can keep my image up to date. But the other: more important even - somebody to show me how to get from this error to an understanding of what has gone wrong...
Thanks, Steve
-------------------------------
Subject: [BUG]UndefinedObject(Object)>>doesNotUnderstand: #packages
17 May 2007 7:43:48 pm
VM: Mac OS - a SmalltalkImage Image: Squeak3.9 [latest update: #7067]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /Applications/Squeak Trusted Dir /Applications/Squeak Untrusted Dir /Users/steve/Library/Preferences/Squeak/Internet/My Squeak
UndefinedObject(Object)>>doesNotUnderstand: #packages Receiver: nil Arguments and temporary variables: aMessage: packages Receiver's instance variables: nil
OBMetaEdge>>nodesForParent: Receiver: #packages->package Arguments and temporary variables: aNode: nil ea: nil Receiver's instance variables: label: 'Packages' selector: #packages metaNode: package #packageVersions->packageVersion
OBModalFilter>>nodesForParent: Receiver: an OBModalFilter Arguments and temporary variables: aNode: nil Receiver's instance variables: metaNode: universe #categories->category #packages->package #statuses->status
monitor: an OBColumn(OmniBrowser) selection: 2
OBColumn>>getChildren Receiver: an OBColumn(OmniBrowser) Arguments and temporary variables:
Receiver's instance variables: panel: an OBColumnPanel filter: an OBModalFilter parent: nil children: an OrderedCollection(an OBUPackageNode an OBUPackageNode an OBUPackag...etc... selection: 76
--- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #packages OBMetaEdge>>nodesForParent: OBModalFilter>>nodesForParent: OBColumn>>getChildren - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OBColumn>>refreshAndSignal: OBColumn>>refresh: MessageSend>>valueWithArguments: [] in ActionSequence>>valueWithArguments: {[:each | answer := each valueWithArguments: anArray]} ActionSequence(SequenceableCollection)>>do: ActionSequence>>valueWithArguments: [] in OBAnnouncer>>announce: {[:class :action | (ann isKindOf: class) ifTrue: [action valueWithArguments...]} [] in IdentityDictionary(Dictionary)>>keysAndValuesDo: {[:assoc | aBlock value: assoc key value: assoc value]} IdentityDictionary(Set)>>do: IdentityDictionary(Dictionary)>>associationsDo: IdentityDictionary(Dictionary)>>keysAndValuesDo: OBAnnouncer>>announce: OBUBrowser(OBBrowser)>>announce: OBUFixedButtonPanel(OBPanel)>>announce: OBUInstallSelectionCommand(OBUCommand)>>refreshRequired OBUInstallSelectionCommand>>execute PluggableButtonMorph>>performAction [] in PluggableButtonMorph>>mouseUp: {[:m | (m containsPoint: evt cursorPoint) ifTrue: [m performAction]]} Array(SequenceableCollection)>>do: PluggableButtonMorph>>mouseUp: PluggableButtonMorph(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo: PluggableButtonMorph(Morph)>>handleEvent: PluggableButtonMorph(Morph)>>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]}