open connection
Chris Muller
afunkyobject at yahoo.com
Wed Jun 30 03:33:20 UTC 2004
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 at 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]}
>
More information about the Squeak-dev
mailing list
|