On Nov 23, 2009, at 01:13 , Ramiro Diaz Trepat
wrote:
> 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
<
bart.gauquie@gmail.com>
>
>>
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: magma@PC_XX:51003 could not be made a warm
>>
backup
>> because it is not reachable from
magma@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
>>
Pharo-project@lists.gforge.inria.fr>>
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project>>
>
_______________________________________________
> Pharo-project mailing
list
>
Pharo-project@lists.gforge.inria.fr>
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project_______________________________________________
Pharo-project
mailing list
Pharo-project@lists.gforge.inria.frhttp://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project