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

Chris Muller asqueaker at gmail.com
Mon Apr 6 15:24:22 UTC 2009


Hi Hernán, yes, this is a known problem.  I believe all that needs to
be done is commit a Node object to the RepositoryDefinition:

session := MagmaSession openLocal: '/a/backup/of/your/repository'.
session connectAs: 'upgrader'.
session commit:
  [ session magmaId node: MagmaNode new ]
session disconnectAndClose

And now you should be able to open a console on it..

 - Chris

On Mon, Apr 6, 2009 at 1:19 AM, Hernán Morales Durand
<hernan.morales at gmail.com> wrote:
> Hello, I'm updating to release 42 beta 3 but after trying to connect
> with this script I get a DNU.
>
> | path |
> path := String streamContents: [: s |
>                        s nextPutAll: FileDirectory default pathName;
>                          nextPutAll: FileDirectory slash;
>                          nextPutAll: 'Magma' ].
> MagmaServerConsole new
>        open: path;
>        processOn: 51969.
>
> It worked fine with a previous release. I don't know what is that
> pervious release number because I didn't found a way to get the
> release version from Magma, I suppose my previous release is r42b1 or
> r41b3....
>
> this is the bug report, any hint would be appreciated.
>
> 7 April 2009 3:09:56 am
> VM: Win32 - a SmalltalkImage
> Image: Squeak3.10.2 [latest update: #7179]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
>
> UndefinedObject(Object)>>doesNotUnderstand: #secondaryLocationsDo:
>        Receiver: nil
>        Arguments and temporary variables:
>                aMessage:       secondaryLocationsDo: [] in
> MagmaServerConsole>>checkIfAmPrimaryOvert...etc...
>        Receiver's instance variables:
> nil
>
> MagmaServerConsole>>checkIfAmPrimaryOvertaken:
>        Receiver: a MagmaServerConsole
>        Arguments and temporary variables:
>                portInteger:    51969
>                thisLocation:   52246990800e4fa:51969
>                each:   nil
>                sess:   nil
>                err:    nil
>        Receiver's instance variables:
>                statistics:     a MagmaServerStatistics
>                lastRequestStart:       nil
>                lastRequestFinish:      nil
>                server:         a MaNetworkRequestServer
>                controller:     a MagmaRepositoryController
>
> [] in MagmaServerConsole>>preIgnitionSequence: {[self
> checkIfAmPrimaryOvertaken: portInteger]}
>        Arguments and temporary variables:
>                portInteger:    51969
>                nodeUpdates:    an OrderedCollection()
>                update:         nil
>                each:   nil
>
> BlockContext>>on:do:
>        Receiver: [] in MagmaServerConsole>>preIgnitionSequence: {[self
> checkIfAmPrimaryOvertaken: portInteg...etc...
>        Arguments and temporary variables:
>                exception:      MagmaNodeUpdate
>                handlerAction:  [] in MagmaServerConsole>>preIgnitionSequence:
> {[:update |  node...etc...
>                handlerActive:  true
>        Receiver's instance variables:
>                sender:         BlockContext>>on:do:
>                pc:     80
>                stackp:         0
>                nargs:  0
>                startpc:        77
>                home:   MagmaServerConsole>>preIgnitionSequence:
>
>
> --- The full stack ---
> UndefinedObject(Object)>>doesNotUnderstand: #secondaryLocationsDo:
> MagmaServerConsole>>checkIfAmPrimaryOvertaken:
> [] in MagmaServerConsole>>preIgnitionSequence: {[self
> checkIfAmPrimaryOvertaken: portInteger]}
> BlockContext>>on:do:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> MagmaServerConsole>>preIgnitionSequence:
> MagmaServerConsole>>noteAboutToStart
> MaNetworkRequestServer(MaServer)>>noteAboutToStart
> MaServerSocket>>listen
> MaServerSocket>>processOn:
> MaNetworkRequestServer>>processOn:
> MaNetworkRequestServer>>processOn:using:
> MagmaServerConsole>>processOn:
> UndefinedObject>>DoIt
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr class
> evaluatorClass new   evaluate: self selectionAsStream   in: ctxt...]}
> BlockContext>>on:do:
> TextMorphEditor(ParagraphEditor)>>evaluateSelection
> TextMorphEditor(ParagraphEditor)>>inspectIt
> TextMorphEditor>>inspectIt:
> TextMorphEditor(ParagraphEditor)>>dispatchOnCharacter:with:
> TextMorphEditor>>dispatchOnCharacter:with:
> TextMorphEditor(ParagraphEditor)>>readKeyboard
> TextMorphEditor>>readKeyboard
> [] in TextMorphForEditView(TextMorph)>>keyStroke: {[editor readKeyboard]}
> TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
> TextMorphForEditView>>handleInteraction:fromEvent:
> TextMorphForEditView(TextMorph)>>keyStroke:
> TextMorphForEditView>>keyStroke:
> TextMorphForEditView(TextMorph)>>handleKeystroke:
> KeyboardEvent>>sentTo:
> TextMorphForEditView(Morph)>>handleEvent:
> TextMorphForEditView(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>>sendKeyboardEvent:
> 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]}
> _______________________________________________
> Magma mailing list
> Magma at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/magma
>


More information about the Magma mailing list