<div dir="ltr">Hi,<div><br></div><div>two notes:</div><div><br></div><div>1) <br><br>>> <span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12px;white-space:pre-wrap">That should have the fix in from </span><a href="https://github.com/ysw" target="_blank" style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12px;white-space:pre-wrap">https://github.com/ysw</a><span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12px;white-space:pre-wrap">, but setting </span><span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12px;white-space:pre-wrap">MONO_DISABLE_AIO should have worked around that anyway, as its meant to bypass the epoll backend.</span></div>

<div>The problem we attempted to fix with async sockets is not only with epoll backend.  i could reproduce it with plain poll backend as well.  Moreover the patch we submitted only addresses it for epoll/kqueue and leaves poll backend unpatched.</div>

<div><br></div><div>2)  From what I understand it is very unlikely it is related to the problem described here.  The problem we fixed can only be observed if you have parallel read and write operations on the same socket which is unlikely to happen in RPC style protocols like HTTP, unless you do request pipelining from the client.  However, if it is the same problem, <span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12px;white-space:pre-wrap"> </span><span style="font-family:tahoma,arial,helvetica,sans-serif;font-size:12px;white-space:pre-wrap">MONO_DISABLE_AIO </span>won't help as poll backend is not better than epoll/kqueue in this case.</div>

<div><br></div><div>-yuriy</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Aug 4, 2013 at 2:17 PM, Alfred Hall <span dir="ltr"><<a href="mailto:ahall@ahall.org" target="_blank">ahall@ahall.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>

  
  
  

<div>
<font face="tahoma" style="font-size:12px;font-family:tahoma,arial,helvetica,sans-serif">I meant to say I tried master too:</font><div style="font-size:12px;font-family:tahoma,arial,helvetica,sans-serif"><font face="tahoma"><br>

</font></div><div><font face="tahoma" style="font-size:12px;font-family:tahoma,arial,helvetica,sans-serif"><div>root@mulder:~# /opt/ahall-mono/bin/mono -V</div><div>Mono JIT compiler version 3.3.0 (master/2354865 Sun Aug  4 00:42:51 BST 2013)</div>

<div>Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. <a href="http://www.mono-project.com" target="_blank">www.mono-project.com</a></div><div><span style="white-space:pre-wrap">  </span>TLS:           __thread</div>

<div><span style="white-space:pre-wrap">  </span>SIGSEGV:       altstack</div><div><span style="white-space:pre-wrap">       </span>Notifications: epoll</div><div><span style="white-space:pre-wrap">     </span>Architecture:  amd64</div>

<div><span style="white-space:pre-wrap">  </span>Disabled:      none</div><div><span style="white-space:pre-wrap">   </span>Misc:          softdebug</div><div><span style="white-space:pre-wrap">    </span>LLVM:          supported, not enabled.</div>

<div><span style="white-space:pre-wrap">  </span>GC:            sgen</div></font><pre style="font-size:12px;white-space:pre-wrap;font-family:tahoma,arial,helvetica,sans-serif;word-wrap:break-word"><br>That should have the fix in from <a href="https://github.com/ysw" target="_blank">https://github.com/ysw</a>, but setting <span style="font-family:tahoma,arial,helvetica,sans-serif">MONO_DISABLE_AIO should have worked around that anyway, as its meant to bypass the epoll backend.</span></pre>

<pre style="font-size:12px;white-space:pre-wrap;word-wrap:break-word">My Nancy service is literally just returning a very simple JSON:</pre><pre style="word-wrap:break-word"><span style="font-size:12px">    public class HelloWorldModule : NancyModule
    {
        public HelloWorldModule()
        {
            Get["/"] = parameters => {
                return Response.AsJson(new HomeResponse { Message = "Test" });
            };
        }
    }</span></pre><div style="font-size:12px"><span style="white-space:pre-wrap">In JMeter I'm using 100 threads and loop count of 100 and it locks up after like 15 seconds even over the network. Very odd.</span></div>

<div><div class="h5"><pre style="font-size:12px;white-space:pre-wrap;word-wrap:break-word"><font face="tahoma, arial, helvetica, sans-serif"><br>-----Original message-----<br>> From:&quot;Andrés G. Aragoneses&quot; <</font><a href="mailto:knocte@gmail.com" style="font-family:tahoma,arial,helvetica,sans-serif" target="_blank">knocte@gmail.com</a><font face="tahoma, arial, helvetica, sans-serif">><br>

> Sent: Sunday 4th August 2013 10:03<br>> To: </font><a href="mailto:mono-devel-list@lists.ximian.com" style="font-family:tahoma,arial,helvetica,sans-serif" target="_blank">mono-devel-list@lists.ximian.com</a><font face="tahoma, arial, helvetica, sans-serif"><br>

> Subject: Re: [Mono-dev] NancyFX self hosting (HttpListener) locking up on linux<br>> <br>> On 04/08/13 03:07, Alfred Hall wrote:<br>> > Hi there.<br>> ><br>> > I'm running the NancyFX web framework in self hosting mode which is<br>

> > using HttpListener which basically means I deploy an executable and run<br>> > it and it will start a webserver on localhost on a TCP port of choice. I<br>> > then use nginx to proxy to it.<br>> ><br>

> > I first ran my executable on my macbook pro and bombarded it with jmeter<br>> > and it coped fine and no issues.<br>> > I then deployed on my debian wheezy 64 bit linux box running on top of<br>> > KVM using mono 3.2.0 and performed the same jmeter experiment. It locks<br>

> > up fairly quickly and wont take any new requests. I've tried using both<br>> > sgen and boehm but they behave similarly although it seems to lock up<br>> > faster when using sgen. I also tried enabling MONO_DISABLE_AIO but it<br>

> > doesn't make any difference.<br>> ><br>> > Anyone had similar issues?<br>> ><br>> > I tried using self hosted ServiceStack which also uses HttpListener and<br>> > had similar issues so I'm finding it unlikely that the bug is in NancyFX<br>

> > itself.<br>> ><br>> > I tried installing mono 2.10.8 to check if this is a regression, but<br>> > getting exactly the same results.<br>> ><br>> > Any idea how I can debug this further or what could be going on.<br>

> <br>> Hey Alfred.<br>> <br>> Could you try mono master (3.3) instead of 3.2? I mention this because <br>> this pull request [1] has been merged recently, which could help in this <br>> situation (and wouldn't make much difference in Mac since the problem in <br>

> this platform is worked-around by avoiding kqueue [2]).<br>> <br>> [1] </font><a href="https://github.com/mono/mono/pull/703" style="font-family:tahoma,arial,helvetica,sans-serif" target="_blank">https://github.com/mono/mono/pull/703</a><font face="tahoma, arial, helvetica, sans-serif"><br>

> <br>> [2] </font><a href="https://github.com/mono/mono/blob/master/configure.in#L1823" style="font-family:tahoma,arial,helvetica,sans-serif" target="_blank">https://github.com/mono/mono/blob/master/configure.in#L1823</a><font face="tahoma, arial, helvetica, sans-serif"><br>

> <br>> _______________________________________________<br>> Mono-devel-list mailing list<br>> </font><a href="mailto:Mono-devel-list@lists.ximian.com" style="font-family:tahoma,arial,helvetica,sans-serif" target="_blank">Mono-devel-list@lists.ximian.com</a><font face="tahoma, arial, helvetica, sans-serif"><br>

> </font><a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" style="font-family:tahoma,arial,helvetica,sans-serif" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><font face="tahoma, arial, helvetica, sans-serif"><br>

> <br>> </font></pre></div></div></div>
</div>
<br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Yuriy Solodkyy<br>(<a href="mailto:y.solodkyy@gmail.com">y.solodkyy@gmail.com</a>)
</div>