[Pharo-project] windows 64 bit: printing NetNameResolver localHostAddress fails even after evaluating NetNameResolver initializeNetwork

Ramiro Diaz Trepat ramiro at diaztrepat.name
Mon Nov 23 00:13:40 UTC 2009


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 at 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 at PC_XX:51003 could not be made a warm backup
> because it is not reachable from magma at 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 at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/magma/attachments/20091123/68ae7b88/attachment.htm


More information about the Magma mailing list