What exactly has changed in the networking code in Pharo compared to  
Squeak 3.9/3.10?

Adrian

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 <[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


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to