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