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

Alfred Hall ahall at ahall.org
Thu Aug 8 10:40:55 UTC 2013


Nikita: Have you filed a bug for this yet? If so please give me the bug number so I can follow it.


-----Original message-----
> From:"Andrés G. Aragoneses" <knocte at gmail.com <mailto:knocte at gmail.com> >
> Sent: Wednesday 7th August 2013 13:15
> To: mono-devel-list at lists.ximian.com <mailto:mono-devel-list at lists.ximian.com> 
> Subject: Re: [Mono-dev] NancyFX self hosting (HttpListener) locking up on linux
> 
> 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 <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 <mailto:keks9n at gmail.com> >
> >     *Sent:* Wednesday 7th August 2013 12:54
> >     *To:* mono-devel-list at lists.ximian.com <mailto: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> 
> >     <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto:keks9n at gmail.com> >
> >                                             *Sent:* Tuesday 6th August
> >                                             2013 20:18
> >                                             *To:*
> >                                             mono-devel-list at lists.ximian.com <mailto: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 <mailto: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 <mailto:Mono-devel-list at lists.ximian.com> 
> >
> >     http://lists.ximian.com/mailman/listinfo/mono-devel-list <http://lists.ximian.com/mailman/listinfo/mono-devel-list> 
> >
> >
> >
> > _______________________________________________
> > Mono-devel-list mailing list
> > Mono-devel-list at lists.ximian.com <mailto:Mono-devel-list at lists.ximian.com> 
> > http://lists.ximian.com/mailman/listinfo/mono-devel-list <http://lists.ximian.com/mailman/listinfo/mono-devel-list> 
> >
> 
> 
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com <mailto:Mono-devel-list at lists.ximian.com> 
> http://lists.ximian.com/mailman/listinfo/mono-devel-list <http://lists.ximian.com/mailman/listinfo/mono-devel-list> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20130808/c43019d6/attachment-0001.html>


More information about the Mono-devel-list mailing list