<div>I am having the same issues trying to connet a Magma Client and a Magma Server in &quot;localhost&quot; using the latest Pharo on Snow Leopard (Mac).</div><div>It is this issue with NetNameResolver, I couldn&#39;t find a work around yet.  Forcing &#39;127.0.0.1&#39; for localhost used to work before, but not anymore.</div>
<div>Same image and code seemed to run fine under Linux though.</div><div>Cheers</div><div><br></div><div>r</div><div><br></div><div><br></div><div><br></div><br><br><div class="gmail_quote">2009/11/22 Bart Gauquie <span dir="ltr">&lt;<a href="mailto:bart.gauquie@gmail.com">bart.gauquie@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>This is related to: <a href="http://lists.gforge.inria.fr/pipermail/pharo-project/2009-November/016021.html" target="_blank">http://lists.gforge.inria.fr/pipermail/pharo-project/2009-November/016021.html</a><br clear="all">


</div><div>
<br></div><div>I was trying out magma on Pharo. I&#39;m using magma r43final on Pharo1.0rc1 Latest update: #10493 on Windows Vista 64 bit.<br></div><div><br></div><div>In order for the magma client wanting to connect to the server i had to adapt </div>



<div>NetNameResolver&gt;&gt;useOldNetwork</div><div>  ^true</div><div><br></div><div>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&gt;&gt;signalExceptionLike with as message: &#39;a primitive has failed&#39;. 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: &#39;a primitive has failed&#39;.</div>



<div><br></div><div>in the primary server log: </div><div><br>MaLocalRequestServer(MaRequestServer)&gt;&gt;processRequest:<br>  Receiver: a MaLocalRequestServer <br>  Arguments and temporary variables: <br>          aMaClientServerRequest:         a MaCommitRequest <br>



          answer:         Error: a primitive has failed<br>  Receiver&#39;s instance variables: <br>          console:         a MaRequestServerConsole <br>          processor:         a MagmaRepositoryController </div><div><br></div><div><br></div><div>Inspired by some issues mentioned @ google code, I tried to evaluate </div>



<div>NetNameResolver localHostAddress</div><div>on the primary server image. That worked, however trying to print that resulted in &#39;a primitive has failed&#39;.</div><div>Even after the NetNameResolver initializeNetwork suggestions I found.</div>


<div><br></div><div>error:</div><div><br></div><div>NetNameResolver class(Object)&gt;&gt;error:<br>        Receiver: NetNameResolver<br>        Arguments and temporary variables: <br>                aString:         &#39;a primitive has failed&#39;<br>        Receiver&#39;s instance variables: <br>


                superclass:         Object<br>                methodDict:         a MethodDictionary()<br>                format:         2<br>                instanceVariables:         nil<br>                organization:         (&#39;as yet unclassified&#39;)<br><br>                subclasses:         nil<br>                name:         #NetNameResolver<br>                classPool:         a Dictionary(#DefaultHostName-&gt;&#39;&#39; #HaveNetwork-&gt;true #ResolverBusy-&gt;...etc...<br>


                sharedPools:         nil<br>                environment:         Smalltalk<br>                category:         #&#39;Network-Kernel&#39;<br>                traitComposition:         nil<br>                localSelectors:         nil<br><br>NetNameResolver class(Object)&gt;&gt;primitiveFailed<br>        Receiver: NetNameResolver<br>


        Arguments and temporary variables: <br><br>        Receiver&#39;s instance variables: <br>                superclass:         Object<br>                methodDict:         a MethodDictionary()<br>                format:         2<br>                instanceVariables:         nil<br>                organization:         (&#39;as yet unclassified&#39;)<br>


<br>                subclasses:         nil<br>                name:         #NetNameResolver<br>                classPool:         a Dictionary(#DefaultHostName-&gt;&#39;&#39; #HaveNetwork-&gt;true #ResolverBusy-&gt;...etc...<br>                sharedPools:         nil<br>                environment:         Smalltalk<br>                category:         #&#39;Network-Kernel&#39;<br>


                traitComposition:         nil<br>                localSelectors:         nil<br><br>NetNameResolver class&gt;&gt;primGetNameInfo:flags:<br>        Receiver: NetNameResolver<br>        Arguments and temporary variables: <br>&lt;&lt;error during printing&gt;<br>

        Receiver&#39;s instance variables: <br>
                superclass:         Object<br>                methodDict:         a MethodDictionary()<br>                format:         2<br>                instanceVariables:         nil<br>                organization:         (&#39;as yet unclassified&#39;)<br><br>                subclasses:         nil<br>                name:         #NetNameResolver<br>                classPool:         a Dictionary(#DefaultHostName-&gt;&#39;&#39; #HaveNetwork-&gt;true #ResolverBusy-&gt;...etc...<br>


                sharedPools:         nil<br>                environment:         Smalltalk<br>                category:         #&#39;Network-Kernel&#39;<br>                traitComposition:         nil<br>                localSelectors:         nil<br><br>SocketAddress&gt;&gt;hostNumber<br>        Receiver: &lt;&lt;error during printing&gt;&gt;<br>


        Arguments and temporary variables: <br>                size:         nil<br>                name:         nil<br>        Receiver&#39;s instance variables: <br>&lt;&lt;error during printing&gt;&gt;<br><br>SocketAddress&gt;&gt;printOn:<br>        Receiver: &lt;&lt;error during printing&gt;&gt;<br>


        Arguments and temporary variables: <br>                aStream:         a LimitedWriteStream &#39;&#39;<br>        Receiver&#39;s instance variables: <br>&lt;&lt;error during printing&gt;&gt;<br><br>[] in SocketAddress(Object)&gt;&gt;printStringLimitedTo:<br>


        Receiver: &lt;&lt;error during printing&gt;&gt;<br>        Arguments and temporary variables: <br>                s:         a LimitedWriteStream &#39;&#39;<br>        Receiver&#39;s instance variables: <br>&lt;&lt;error during printing&gt;&gt;<br></div>

<div>
<br></div><div><br></div><div>I then tried to revert the changes to NetNameResolver back to:<br></div><div>useOldNetwork<br>    ^UseOldNetwork ~~ false<br></div><div><br></div><div><br></div><div>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: </div>


<div>MagmaSession&gt;&gt;signalExceptionLike</div><div><br></div><div>MagmaEnvironmentError: magma@PC_XX:51003 could not be made a warm backup because it is not reachable from magma@PC_XX:51001.</div><div><br></div><div>

Which is again the same ipv6 error. So the problem i&#39;m facing is that either of them work</div>
<div>I can connect with my magma client to the server if i enable ipv4 only, but then high availability dont work and vice verse.</div><div><br></div><div>Anyone any id how i can debug the primitive has failed on:</div><div>


NetNameResolver class&gt;&gt;primGetNameInfo: socketAddress flags: flags<br>  &lt;primitive: &#39;primitiveResolverGetNameInfo&#39; module: &#39;SocketPlugin&#39;&gt;<br>   flags == 0 ifTrue: [^self primGetNameInfo: socketAddress<br>


                                          flags: SocketAddressInformation numericFlag].<br>   self primitiveFailed<br></div><div><br></div><div>further more, why cant the primitiveFailed mention which primitive has failed?</div><div><br></div><div>Thanks,</div>


<div><br></div><div>Kind Regards,</div><div><br></div><div>Bart</div><br><font color="#888888">-- <br>imagination is more important than knowledge - Albert Einstein<br>Logic will get you from A to B. Imagination will take you everywhere - Albert Einstein<br>



Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning. - Albert Einstein<br>The true sign of intelligence is not knowledge but imagination. - Albert Einstein<br>Gravitation is not responsible for people falling in love. - Albert Einstein<br>




</font><br>_______________________________________________<br>
Pharo-project mailing list<br>
<a href="mailto:Pharo-project@lists.gforge.inria.fr">Pharo-project@lists.gforge.inria.fr</a><br>
<a href="http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project" target="_blank">http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project</a><br></blockquote></div><br>