Hello Chris, You've answered me this same thing before, now it has happened again and I have lost your previous e-mail. Sorry. It seems that I closed my squeak without closing every Magma connection out there. Now, everytime I start or save my image I get an exception, the one I am attaching in this log. I remember back then, you sent me a couple of lines that fixed it all. Thank you for your help.
r.
PS: This time I am coping the list so the next time I forget I can still google it :)
MessageNotUnderstood: UndefinedObject>>isOpen 29 June 2004 11:18:19 pm
VM: Win32 - a SmalltalkImage Image: Squeak3.7beta [latest update: #5967]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir D:\Squeak\3.6 Trusted Dir D:\Squeak\3.6\Ramiro Diaz Trepat Untrusted Dir C:\My Squeak\Ramiro Diaz Trepat
UndefinedObject(Object)>>doesNotUnderstand: #isOpen Receiver: nil Arguments and temporary variables: aMessage: isOpen Receiver's instance variables: nil MaObjectRepository>>isOpen Receiver: a MaObjectRepository Arguments and temporary variables:
Receiver's instance variables: transactionLog: a MaTransactionLog sessions: a Dictionary() filer: nil repositoryController: a MagmaRepositoryController largeCollectionManagers: a Dictionary() nextLoid: nil filename: <<error during printing>>
MagmaRepositoryController>>isOpen Receiver: a MagmaRepositoryController Arguments and temporary variables:
Receiver's instance variables: repository: a MaObjectRepository definition: a MagmaRepositoryDefinition session: a MagmaSession serverSerializer: a MaObjectSerializer requestInterruptGuard: a Semaphore() isReadOnly: false fileName: nil
[] in MagmaRepositoryController class>>startUp: {[:each | each isOpen ifFalse: [each open]]} Arguments and temporary variables: amResuming: true each: a MagmaRepositoryController
--- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #isOpen MaObjectRepository>>isOpen MagmaRepositoryController>>isOpen [] in MagmaRepositoryController class>>startUp: {[:each | each isOpen ifFalse: [each open]]} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Set>>do: MagmaRepositoryController class>>startUp: MagmaSession class>>startUp: [] in SystemDictionary>>send:toClassesNamedIn:with: {[:name | class := self at: name ifAbsent: []. class ifNil: [remo...]} OrderedCollection>>do: SystemDictionary>>send:toClassesNamedIn:with: SystemDictionary>>processStartUpList: SmalltalkImage>>snapshot:andQuit:embedded: SmalltalkImage>>snapshot:andQuit: TheWorldMenu>>saveAndQuit TheWorldMenu>>doMenuItem:with: [] 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]}
Hi Ramiro, no problem! In fact, I am working on a new version of Magma and I will consider a way to streamline this aspect of it.
Just to recap exactly what I believe is happening from looking at the stack-trace you sent, it looks like the files may have moved since the image was saved, or perhaps the image was moved to a different computer.
In any case, Magma doesn't handle it gracefully, so I will add that to my list.
For now, the way out is:
MagmaSession initialize. MagmaRepositoryController initialize
and save the image.
Hope this helps, let me know if you have any more problems.
- Chris
--- Ramiro Diaz Trepat ramiro@novamens.com wrote:
Hello Chris, You've answered me this same thing before, now it has happened again and I have lost your previous e-mail. Sorry. It seems that I closed my squeak without closing every Magma connection out there. Now, everytime I start or save my image I get an exception, the one I am attaching in this log. I remember back then, you sent me a couple of lines that fixed it all. Thank you for your help.
r.
PS: This time I am coping the list so the next time I forget I can still google it :)
MessageNotUnderstood: UndefinedObject>>isOpen
29 June 2004 11:18:19 pm
VM: Win32 - a SmalltalkImage Image: Squeak3.7beta [latest update: #5967]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir D:\Squeak\3.6 Trusted Dir D:\Squeak\3.6\Ramiro Diaz Trepat Untrusted Dir C:\My Squeak\Ramiro Diaz Trepat
UndefinedObject(Object)>>doesNotUnderstand: #isOpen Receiver: nil Arguments and temporary variables: aMessage: isOpen Receiver's instance variables: nil MaObjectRepository>>isOpen Receiver: a MaObjectRepository Arguments and temporary variables:
Receiver's instance variables: transactionLog: a MaTransactionLog sessions: a Dictionary() filer: nil repositoryController: a MagmaRepositoryController largeCollectionManagers: a Dictionary() nextLoid: nil filename: <<error during printing>>
MagmaRepositoryController>>isOpen Receiver: a MagmaRepositoryController Arguments and temporary variables:
Receiver's instance variables: repository: a MaObjectRepository definition: a MagmaRepositoryDefinition session: a MagmaSession serverSerializer: a MaObjectSerializer requestInterruptGuard: a Semaphore() isReadOnly: false fileName: nil
[] in MagmaRepositoryController class>>startUp: {[:each | each isOpen ifFalse: [each open]]} Arguments and temporary variables: amResuming: true each: a MagmaRepositoryController
--- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #isOpen MaObjectRepository>>isOpen MagmaRepositoryController>>isOpen [] in MagmaRepositoryController class>>startUp: {[:each | each isOpen ifFalse: [each open]]}
Set>>do: MagmaRepositoryController class>>startUp: MagmaSession class>>startUp: [] in SystemDictionary>>send:toClassesNamedIn:with: {[:name | class := self at: name ifAbsent: []. class ifNil: [remo...]} OrderedCollection>>do: SystemDictionary>>send:toClassesNamedIn:with: SystemDictionary>>processStartUpList: SmalltalkImage>>snapshot:andQuit:embedded: SmalltalkImage>>snapshot:andQuit: TheWorldMenu>>saveAndQuit TheWorldMenu>>doMenuItem:with: [] 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]}
That did the trick perfectly. Thanks again !
r.
Chris Muller wrote:
Hi Ramiro, no problem! In fact, I am working on a new version of Magma and I will consider a way to streamline this aspect of it.
Just to recap exactly what I believe is happening from looking at the stack-trace you sent, it looks like the files may have moved since the image was saved, or perhaps the image was moved to a different computer.
In any case, Magma doesn't handle it gracefully, so I will add that to my list.
For now, the way out is:
MagmaSession initialize. MagmaRepositoryController initialize
and save the image.
Hope this helps, let me know if you have any more problems.
- Chris
--- Ramiro Diaz Trepat ramiro@novamens.com wrote:
Hello Chris, You've answered me this same thing before, now it has happened again and I have lost your previous e-mail. Sorry. It seems that I closed my squeak without closing every Magma connection out there. Now, everytime I start or save my image I get an exception, the one I am attaching in this log. I remember back then, you sent me a couple of lines that fixed it all. Thank you for your help.
r.
PS: This time I am coping the list so the next time I forget I can still google it :)
squeak-dev@lists.squeakfoundation.org