[Mono-dev] NancyFX self hosting (HttpListener) locking up on linux

"Andrés G. Aragoneses" knocte at gmail.com
Wed Aug 7 12:14:45 UTC 2013


If you're able to reproduce it with 3.3 and not with 2.10.x, you should 
definitely open a bug report for it in http://bugzilla.xamarin.com/ 
stating "[regression]" in the bug summary.

Also, I would open a separate bug report for the segfault you're getting 
when running with MONO_DISABLE_AIO (pasting the backtrace of the 
segfault, with debug symbols installed).

On 07/08/13 14:02, Alfred Hall wrote:
> Tried running it with sgen or boehm on 2.10? Worth trying both I think.
> Also how about 3.3 (master) ?
>
>     -----Original message-----
>     *From:* Nikita Tsukanov <keks9n at gmail.com>
>     *Sent:* Wednesday 7th August 2013 12:54
>     *To:* mono-devel-list at lists.ximian.com
>     *Subject:* Re: [Mono-dev] NancyFX self hosting (HttpListener)
>     locking up on linux
>
>     I've rewritten my SCGI server to work with TPL directly instead of
>     using async/await to make it run on mono 2.10. Then I've tried to
>     run it with mono 2.10.8.1 and mono 3.2 with System.Net.Sockets
>     backend and to hammer it with jmeter. 500K requests without any
>     lockups on Mono 2.10, lockup at 22164th request on mono 3.2.
>
>     Server source code is still on GitHub -
>     https://github.com/kekekeks/scgi-sharp
>
>
>     2013/8/7 Greg Young <gregoryyoung1 at gmail.com
>     <mailto:gregoryyoung1 at gmail.com>>
>
>         I believe attaching a debugger changes things like optimizations
>         from occurring (not positive but it does in clr)
>
>
>         On Wednesday, August 7, 2013, Nikita Tsukanov wrote:
>
>             Huh, it doesn't require debugger to be _attched_, just
>             debugging subsystem initialized i. e. if I launch this
>             program as a "debugger" it doesn't lock up.
>
>             publicstaticvoidMain(string[]args)
>             {
>             intport=27042;
>             if(args.Length !=0)
>             port=int.Parse(args[0]);
>             while(true)
>             {
>             varvm= Mono.Debugger.Soft.VirtualMachineManager.Listen(newIPEndPoint(IPAddress.Loopback,port));
>             vm.Resume();
>             vm.Detach();
>             }
>             }
>
>             I'll use running with
>             --debugger-agent=transport=dt_socket,address=127.0.0.1:27042
>             <http://127.0.0.1:27042> as a temporary workaround since
>             performance doesn't degrade a lot.
>
>
>             2013/8/7 Nikita Tsukanov <keks9n at gmail.com>
>
>                 I suspect that the problem is actually with thread pool
>                 itself. I've created socket layer implementation using
>                 libevent (wrapped with Oars) and send/recv that utilizes
>                 thread pool for cases when it's unable to complete
>                 operation synchronously. It survives longer, but still
>                 locks up after a while. Same behavior with debugger -
>                 I'm unable to reproduce the issue when running under it.
>                 I also unable to grab thread stack traces, it prints
>                 "Full thread dump: " and nothing else.
>
>
>                 2013/8/7 Greg Young <gregoryyoung1 at gmail.com>
>
>                     We will see your test then as it will probably
>                     affect us as well
>
>
>                     On Tuesday, August 6, 2013, Nikita Tsukanov wrote:
>
>                         Greg, I've tried running my server with mono
>                         compiled from master (with pull request #703
>                         merged in), still freezes after a while.
>
>
>                         2013/8/7 Greg Young <gregoryyoung1 at gmail.com>
>
>                             Do you have our pull req? We are stable
>                             after (and seriously read history of this list)
>
>
>                             On Tuesday, August 6, 2013, Nikita Tsukanov
>                             wrote:
>
>                                 https://github.com/kekekeks/scgi-sharp -
>                                 here is my SCGI server with host for
>                                 NancyFx. If you run Sandbox.exe with
>                                 --echo-server it will not use nancy
>                                 infrastructure and will respond
>                                 directly. It locks up after several
>                                 thousands of requests under jmeter.
>
>                                 Simple nginx configuration:
>
>                                 location /
>                                 {
>                                     include /etc/nginx/scgi_params;
>                                     scgi_pass 127.0.0.1:10081
>                                 <http://127.0.0.1:10081>;
>                                 }
>
>                                 Now I'm looking for alternative socket
>                                 library to use it as a replacement for
>                                 System.Net.Sockets.
>
>
>                                 2013/8/6 Greg Young
>                                 <gregoryyoung1 at gmail.com>
>
>                                     Actually not that surprised we also
>                                     found out file stream.flush(true)
>                                     only works sometimes and ms never
>                                     back supported it to actually work :)
>
>
>                                     On Tuesday, August 6, 2013, Alfred
>                                     Hall wrote:
>
>                                         __
>                                         Yeah you're having exactly the
>                                         same issues as I am. I'm
>                                         surprised others haven't had
>                                         this problem before. Not sure
>                                         who works on this area of the
>                                         mono codebase these days. If you
>                                         got a minimal test case it may
>                                         be worth us raising a Xamarin
>                                         bug in bugzilla.
>
>                                             -----Original message-----
>                                             *From:* Nikita
>                                             Tsukanov <keks9n at gmail.com>
>                                             *Sent:* Tuesday 6th August
>                                             2013 20:18
>                                             *To:*
>                                             mono-devel-list at lists.ximian.com
>                                             *Subject:* Re: [Mono-dev]
>                                             NancyFX self hosting
>                                             (HttpListener) locking up on
>                                             linux
>
>                                             Running with mono from
>                                             master haven't helped.
>
>                                             And I'm not sure what the
>                                             hell is going on, but I
>                                             cann't reproduce the issue
>                                             when running under...
>                                             Monodevelop's debugger. It
>                                             runs perfectly under it, but
>                                             when I try to run the same
>                                             binary from console (even
>                                             with --debug option) it
>                                             locks up or segfaults. Does
>                                             anyone know what does it mean?
>
>
>                                             2013/8/6 Nikita Tsukanov
>                                             <keks9n at gmail.com>
>
>                                                 Great. It locked up with
>                                                 my more complex logic.
>                                                 Funny fact: NancyFx
>                                                 increases request
>                                                 processing time from 2ms
>                                                 to 70ms with the same
>                                                 echo response.
>                                                 Another funny fact: with
>                                                 MONO_DISABLE_AIO I've
>                                                 got segfault.
>
>                                                 Now I'll try to use
>                                                 build patched mono. Not
>                                                 sure that it's the same
>                                                 issue, because in my
>                                                 case it never tries to
>                                                 read and write simultane
>
>
>
>         --
>         Le doute n'est pas une condition agréable, mais la certitude est
>         absurde.
>
>
>     _______________________________________________
>
>     Mono-devel-list mailing list
>
>     Mono-devel-list at lists.ximian.com
>
>     http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>




More information about the Mono-devel-list mailing list