I am having the same issues trying to connet a Magma Client and a Magma Server in "localhost" using the latest Pharo on Snow Leopard (Mac). It is this issue with NetNameResolver, I couldn't find a work around yet. Forcing '127.0.0.1' for localhost used to work before, but not anymore. Same image and code seemed to run fine under Linux though. Cheers
r 2009/11/22 Bart Gauquie <[email protected]> > This is related to: > http://lists.gforge.inria.fr/pipermail/pharo-project/2009-November/016021.html > > I was trying out magma on Pharo. I'm using magma r43final on Pharo1.0rc1 > Latest update: #10493 on Windows Vista 64 bit. > > In order for the magma client wanting to connect to the server i had to > adapt > NetNameResolver>>useOldNetwork > ^true > > It worked till i tried the new high availability of magma. If i tried with > a node to connect to a primary server i always got following error on the > secondary node: MagmaSession>>signalExceptionLike with as message: 'a > primitive has failed'. After some debugging i figured out that the it in > fact was the primary server which sent to the secondary an Error object with > message text: 'a primitive has failed'. > > in the primary server log: > > MaLocalRequestServer(MaRequestServer)>>processRequest: > Receiver: a MaLocalRequestServer > Arguments and temporary variables: > aMaClientServerRequest: a MaCommitRequest > answer: Error: a primitive has failed > Receiver's instance variables: > console: a MaRequestServerConsole > processor: a MagmaRepositoryController > > > Inspired by some issues mentioned @ google code, I tried to evaluate > NetNameResolver localHostAddress > on the primary server image. That worked, however trying to print that > resulted in 'a primitive has failed'. > Even after the NetNameResolver initializeNetwork suggestions I found. > > error: > > NetNameResolver class(Object)>>error: > Receiver: NetNameResolver > Arguments and temporary variables: > aString: 'a primitive has failed' > Receiver's instance variables: > superclass: Object > methodDict: a MethodDictionary() > format: 2 > instanceVariables: nil > organization: ('as yet unclassified') > > subclasses: nil > name: #NetNameResolver > classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true > #ResolverBusy->...etc... > sharedPools: nil > environment: Smalltalk > category: #'Network-Kernel' > traitComposition: nil > localSelectors: nil > > NetNameResolver class(Object)>>primitiveFailed > Receiver: NetNameResolver > Arguments and temporary variables: > > Receiver's instance variables: > superclass: Object > methodDict: a MethodDictionary() > format: 2 > instanceVariables: nil > organization: ('as yet unclassified') > > subclasses: nil > name: #NetNameResolver > classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true > #ResolverBusy->...etc... > sharedPools: nil > environment: Smalltalk > category: #'Network-Kernel' > traitComposition: nil > localSelectors: nil > > NetNameResolver class>>primGetNameInfo:flags: > Receiver: NetNameResolver > Arguments and temporary variables: > <<error during printing> > Receiver's instance variables: > superclass: Object > methodDict: a MethodDictionary() > format: 2 > instanceVariables: nil > organization: ('as yet unclassified') > > subclasses: nil > name: #NetNameResolver > classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true > #ResolverBusy->...etc... > sharedPools: nil > environment: Smalltalk > category: #'Network-Kernel' > traitComposition: nil > localSelectors: nil > > SocketAddress>>hostNumber > Receiver: <<error during printing>> > Arguments and temporary variables: > size: nil > name: nil > Receiver's instance variables: > <<error during printing>> > > SocketAddress>>printOn: > Receiver: <<error during printing>> > Arguments and temporary variables: > aStream: a LimitedWriteStream '' > Receiver's instance variables: > <<error during printing>> > > [] in SocketAddress(Object)>>printStringLimitedTo: > Receiver: <<error during printing>> > Arguments and temporary variables: > s: a LimitedWriteStream '' > Receiver's instance variables: > <<error during printing>> > > > I then tried to revert the changes to NetNameResolver back to: > useOldNetwork > ^UseOldNetwork ~~ false > > > printing NetNameResolver localHostAddress now nicely printed a ipv6 > address. However if i then try to connect to the primary server from the > secondary server i get: > MagmaSession>>signalExceptionLike > > MagmaEnvironmentError: ma...@pc_xx:51003 could not be made a warm backup > because it is not reachable from ma...@pc_xx:51001. > > Which is again the same ipv6 error. So the problem i'm facing is that > either of them work > I can connect with my magma client to the server if i enable ipv4 only, but > then high availability dont work and vice verse. > > Anyone any id how i can debug the primitive has failed on: > NetNameResolver class>>primGetNameInfo: socketAddress flags: flags > <primitive: 'primitiveResolverGetNameInfo' module: 'SocketPlugin'> > flags == 0 ifTrue: [^self primGetNameInfo: socketAddress > flags: SocketAddressInformation numericFlag]. > self primitiveFailed > > further more, why cant the primitiveFailed mention which primitive has > failed? > > Thanks, > > Kind Regards, > > Bart > > -- > imagination is more important than knowledge - Albert Einstein > Logic will get you from A to B. Imagination will take you everywhere - > Albert Einstein > Learn from yesterday, live for today, hope for tomorrow. The important > thing is not to stop questioning. - Albert Einstein > The true sign of intelligence is not knowledge but imagination. - Albert > Einstein > Gravitation is not responsible for people falling in love. - Albert > Einstein > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >
_______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
