<br><br><div class="gmail_quote">On Thu, Jun 7, 2012 at 11:32 AM, Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 06.06.2012, at 02:41, David T. Lewis wrote:<br>
<div><div class="h5"><br>
&gt; On Tue, Jun 05, 2012 at 05:11:53PM +0200, Bert Freudenberg wrote:<br>
&gt;&gt;<br>
&gt;&gt; On 05.06.2012, at 16:44, David T. Lewis wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; On Tue, Jun 05, 2012 at 03:13:20PM +0200, Bert Freudenberg wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On 05.06.2012, at 04:31, David T. Lewis wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Wed, Jun 22, 2011 at 08:29:29PM -0500, Chris Muller wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt; Just an FYI, the Magma test suite is pretty heavy on networking<br>
&gt;&gt;&gt;&gt;&gt;&gt; activity, but I didn&#39;t encounter any problems with this loaded.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; So what needs to happen for us as a community to make a decision on<br>
&gt;&gt;&gt;&gt;&gt;&gt; whether to accept or reject this?  I assume we will accept it, but<br>
&gt;&gt;&gt;&gt;&gt;&gt; maybe some of those more familiar with it can make some comments..?<br>
&gt;&gt;&gt;&gt;&gt;&gt; Who is our best networking expert who might want to review it and<br>
&gt;&gt;&gt;&gt;&gt;&gt; discuss?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I have merged Levente&#39;s Network-ul.100 updates into the current Squeak<br>
&gt;&gt;&gt;&gt;&gt; trunk, and made some additional changes to get unit tests working.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; The updates are in the inbox in Network-dtl.123 and NetworkTests-dtl.28.<br>
&gt;&gt;&gt;&gt;&gt; I would appreciate if a couple of folks could load these updates,<br>
&gt;&gt;&gt;&gt;&gt; run the network tests, and let us know if any problems arise.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; If there are no objections after a few days, I&#39;ll move the updates<br>
&gt;&gt;&gt;&gt;&gt; to trunk and we can sort out any remaining issues there.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Dave<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I committed a small fix to inbox as Network-bf.124. This is needed if you run on a VM that has only the old primitives (like, the Cog VM I&#39;m using).<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; With that fix the fallback code appears to work fine (at least I can use Monticello).<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; A similar fix might be needed for Etoys, but we never ran into it, because we had the new plugin for ages.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Btw, shouldn&#39;t asSocketAddress rather be an extension of the Network package?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; D&#39;oh! Yes, asSocketAddress should be a Network package extension. Sorry.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Dave<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; After loading your tests package I get these failures (again, old SocketPlugin):<br>
&gt;&gt;<br>
&gt;&gt; HttpUrlTest&gt;&gt;#testHttps<br>
&gt;&gt; SocketTest&gt;&gt;#testLocalAddress<br>
&gt;&gt; SocketTest&gt;&gt;#testRemoteAddress<br>
&gt;&gt; SocketTestOldNetwork&gt;&gt;#testLocalAddress<br>
&gt;&gt; SocketTestOldNetwork&gt;&gt;#testRemoteAddress<br>
&gt;&gt;<br>
&gt;&gt; - Bert -<br>
&gt;<br>
</div></div>&gt; I get different results on Linux, see attached.<br>
&gt;<br>
&gt; I suspect we will need some way to set UseOldNetwork at image startup time<br>
&gt; in order to accomodate VMs that do not have the new network primitives.<br>
&gt;<br>
&gt; I believe that the testSendTimeout and testSocketReuse failures that I<br>
&gt; am seeing are Linux specific, and not related to the new network changes<br>
&gt; we are discussing here.<br>
&gt;<br>
&gt; I don&#39;t understand where the testHttps, testLocalAddress, and testRemoteAddress<br>
&gt; failures are coming from. Can you double check and see if these failures<br>
&gt; existed on your platform prior to the updates we are discussing? In other<br>
&gt; words, are they Mac related, or are they caused by the network updates in<br>
&gt; the inbox?<br>
&gt;<br>
&gt; Thanks!<br>
&gt; Dave<br>
<br>
<br>
<br>
The testHttps failure was something local to my image. The other two fail in the same way, wether or not the new code is loaded:<br>
<br>
On Mac OS using the current Network code and a Cog VM (not your new package):<br>
137 run, 135 passes, 0 expected failures, 2 failures, 0 errors, 0 unexpected passes<br>
SocketTest&gt;&gt;#testLocalAddress<br>
SocketTest&gt;&gt;#testRemoteAddress<br>
<br>
Same VM and the new Network code today:<br>
142 run, 140 passes, 0 expected failures, 2 failures, 0 errors, 0 unexpected passes<br>
SocketTest&gt;&gt;#testLocalAddress<br>
SocketTest&gt;&gt;#testRemoteAddress<br>
<br>
<br>
testLocalAddress:<br>
        listenerSocket localAddress ==&gt; #[0 0 0 0]<br>
        clientSocket localAddress ==&gt; #[127 0 0 1]<br>
        serverSocket localAddress ==&gt; #[127 0 0 1]<br>
        self listenerAddress ==&gt; #[0 0 0 0]<br>
<br>
testRemoteAddress:<br>
        listenerSocket remoteAddress ==&gt; #[0 0 0 0]<br>
        clientSocket remoteAddress ==&gt; #[127 0 0 1]<br>
        serverSocket remoteAddress ==&gt; #[127 0 0 1]<br>
        self listenerAddress ==&gt; #[0 0 0 0]<br></blockquote><div><br></div><div>I fixed the localAddress failures on MacOS X.  I&#39;m committing now.  One needs to change platforms/unix/plugins/SocketPlugin/sqUnixSocket.c::sqResolverLocalAddress to read, e.g.</div>
<div><br></div><div><div>sqInt sqResolverLocalAddress(void)</div><div>{   sqInt localaddr = nameToAddr(localHostName);</div><div>    if (!localaddr)</div><div>        localaddr = nameToAddr(&quot;localhost&quot;);</div><div>
    return localaddr;</div><div>}</div></div><div><br></div><div>I&#39;m pretty sure this occurs when one has a hostname set (e.g. my machine McStalker) on a laptop and you change the network configuration (e.g. drop a VPN connexion) that invalidates the hostname&#39;s ip.  Then nameToAddr returns 0 and one needs to fallback on localhost/<a href="http://127.0.0.1">127.0.0.1</a>.</div>
<div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
- Bert -<br>
<br>
<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>