<p dir="ltr">I like those long meaningful commit messages :) seems related but then again it is threading.</p>
<p dir="ltr">Thanks for opening the bug report Alexander, I'll keep an eye on it.</p>
<br><div class="gmail_quote"><div dir="ltr">On Fri, 12 Feb 2016 15:59 Alan <<a href="mailto:alan.mcgovern@gmail.com">alan.mcgovern@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Ah, sorry, i meant this commit <a href="https://github.com/mono/mono/commit/578a2327b8a216a2b59e9fc430ae5d77af2616bd" target="_blank">https://github.com/mono/mono/commit/578a2327b8a216a2b59e9fc430ae5d77af2616bd</a></div><div class="gmail_extra"><br><div class="gmail_quote">On 12 February 2016 at 14:58, Alexander Köplinger <span dir="ltr"><<a href="mailto:alexander.koeplinger@xamarin.com" target="_blank">alexander.koeplinger@xamarin.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Sorry, turns out I made an error when testing on master. I can actually see the request timeout there too, so it's not fixed on master.<div><br></div><div>I filed a bug with your repro code: <a href="https://bugzilla.xamarin.com/show_bug.cgi?id=38715" target="_blank">https://bugzilla.xamarin.com/show_bug.cgi?id=38715</a></div><div><br></div><div>- Alex</div><div><br></div><div><br></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2016-02-12 15:13 GMT+01:00 Alexander Köplinger <span dir="ltr"><<a href="mailto:alexander.koeplinger@xamarin.com" target="_blank">alexander.koeplinger@xamarin.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Happens on mono-4.3.2-branch/9f44a62 as well...<div><br></div><div>Alan: the PR you linked doesn't seem to be related, did you have another PR in mind?</div><div><br></div><div>- Alex</div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2016-02-12 15:07 GMT+01:00 Alexander Köplinger <span dir="ltr"><<a href="mailto:alexander.koeplinger@xamarin.com" target="_blank">alexander.koeplinger@xamarin.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I tried the testcase on master and couldn't reproduce there. I could, however, reproduce it on the 4.3.2 build I had installed (mono-4.3.2-branch/0df254d). I'm downloading a later 4.3.2 build right now to see if it still happens there, if it does then we need to backport something from master.<div><br></div><div>- Alex</div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2016-02-12 15:04 GMT+01:00 Seif Attar <span dir="ltr"><<a href="mailto:iam@seifattar.net" target="_blank">iam@seifattar.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Great, I'll try it out. Is the console app in that gist enough for a test case?</p>
<p dir="ltr">@Mike @Jonathan we've faced bugs with previous versions of libc and networking before, also some kernel issues. Update to latest if you can. I can't reproduce with 3.12. I get timeouts but then it recovers when there are available threads unlike with 4.x</p><div><div>
<br><div class="gmail_quote"><div dir="ltr">On Fri, 12 Feb 2016 13:50 Alan <<a href="mailto:alan.mcgovern@gmail.com" target="_blank">alan.mcgovern@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">It's also worth pointing out that the threadpool implementation has changed completely since mono 4.0. I believe the new threadpool implementation shipped as the default starting with mono 4.2 (or thereabouts). If you're on older Monos the odds are high whatever issue you have has been fixed already.</div><div dir="ltr"><div><div><br></div><div>Alan</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 12 February 2016 at 13:48, Alan <span dir="ltr"><<a href="mailto:alan.mcgovern@gmail.com" target="_blank">alan.mcgovern@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hey,<div><br></div><div>We have just fixed some issues in that area. They are expected to ship as part of a the next mono 4.3+ release. If you want to test them out in the meantime you could try building mono with this PR [0] and see if it resolves all your issues. If it doesn't then a testcase and bug report on <a href="http://bugzilla.xamarin.com" target="_blank">http://bugzilla.xamarin.com</a> would be awesome! </div><div><br></div><div>Thanks!<br><br>[0] <a href="https://github.com/mono/mono/pull/2576" target="_blank">https://github.com/mono/mono/pull/2576</a></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On 12 February 2016 at 12:33, Mike Horsley <span dir="ltr"><<a href="mailto:mhorsley@vqcomms.com" target="_blank">mhorsley@vqcomms.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>





<div lang="EN-US" link="blue" vlink="purple">
<div><span>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">we’ve also seen instances of webrequest timeouts that don’t recover (but curl worked) as well but haven’t got to the bottom of it yet.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">we ran your test app and see the same issue with mono 3.12 on OpenSUSE 13.2 (kernel 3.16.7, libc 2.19).
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">we’ll add the diagnostics from your test app into ours and this will tell us whether we are seeing the same issue with the threadpool.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">regards<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Mike<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> <a href="mailto:mono-devel-list-bounces@lists.ximian.com" target="_blank">mono-devel-list-bounces@lists.ximian.com</a> [mailto:<a href="mailto:mono-devel-list-bounces@lists.ximian.com" target="_blank">mono-devel-list-bounces@lists.ximian.com</a>]
<b>On Behalf Of </b>Seif Attar<br>
<b>Sent:</b> Friday, February 12, 2016 10:43 AM<br>
<b>To:</b> <a href="mailto:mono-devel-list@lists.ximian.com" target="_blank">mono-devel-list@lists.ximian.com</a><br>
<b>Subject:</b> [Mono-dev] WebRequest timeouts after ThreadPool exhaustion<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
</span><div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi,<u></u><u></u></p>
</div><div><div>
<p class="MsoNormal" style="margin-bottom:12.0pt">We are running mono 4.2.2 in prod and the VM that the process was running on had SAN failure and after storage recovered, all outgoing requests were timing out, even though doing a curl was working fine.<u></u><u></u></p>
</div></div></div><div><div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Theory was that thread pool starved and somehow things didn't recover properly.<u></u><u></u></p>
</div></div></div><div><div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Managed to reproduce with:<br>
<br>
<a href="https://gist.githubusercontent.com/seif/ae2defbfa5afa26fa8f6/raw/bef351eded56c882658a4bad60fa4818ad32d629/timeout.cs" target="_blank">https://gist.githubusercontent.com/seif/ae2defbfa5afa26fa8f6/raw/bef351eded56c882658a4bad60fa4818ad32d629/timeout.cs</a><u></u><u></u></p>
</div></div></div><div><div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Even after ThreadPool finishes the tasks and has available threads, it never recovers and subsequent webrequests all timeout.<u></u><u></u></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Running on mono 4.2.2, linux kernel 4.2.0-27 and libc 2.21.<u></u><u></u></p>
</div></div></div><div><div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Output from gdb is:<br>
<br>
(gdb) info threads<br>
  Id   Target Id         Frame<br>
  13   Thread 0x7fca903ff700 (LWP 27944) "cli" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185<br>
  12   Thread 0x7fca90b34700 (LWP 27945) "Finalizer" 0x00007fca911d70c9 in futex_abstimed_wait (cancel=true, private=<optimised out>, abstime=0x0, expected=0, futex=0x948ae0) at sem_waitcommon.c:42<br>
  11   Thread 0x7fca8dfff700 (LWP 27946) "Timer-Scheduler" pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238<br>
  10   Thread 0x7fca91ba1700 (LWP 27947) "cli" __clock_nanosleep (clock_id=1, flags=1, req=0x7fca91ba0dc0, rem=0x7fca90f134aa <__clock_nanosleep+138>) at ../sysdeps/unix/sysv/linux/clock_nanosleep.c:48<br>
  9    Thread 0x7fca8ddfe700 (LWP 27948) "Threadpool work" pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238<br>
  8    Thread 0x7fca8dbfd700 (LWP 27949) "Threadpool work" pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238<br>
  7    Thread 0x7fca8d7fb700 (LWP 27951) "Threadpool work" pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238<br>
  6    Thread 0x7fca8d3f9700 (LWP 27953) "Threadpool work" pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238<br>
  5    Thread 0x7fca8d1f8700 (LWP 27954) "Threadpool work" pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238<br>
  4    Thread 0x7fca8cff7700 (LWP 27955) "Threadpool work" pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238<br>
  3    Thread 0x7fca8cdf6700 (LWP 27956) "Threadpool work" pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238<br>
  2    Thread 0x7fca8cbf5700 (LWP 27957) "Threadpool work" pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238<br>
* 1    Thread 0x7fca91cf0780 (LWP 27942) "cli" 0x00007fca911d7e0d in read () at ../sysdeps/unix/syscall-template.S:81<u></u><u></u></p>
</div></div></div><div><div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Could not reproduce on mono 3.12, but it happens on 4.0.3 and 4.2.2<u></u><u></u></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Is this a known issue? any workarounds? Tried setting MONO_DNS=1 to use the clr dns, but that didn't help.<u></u><u></u></p>
</div></div></div><div><div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Let me know if there is any more info I need to provide.<u></u><u></u></p>
</div></div></div>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
</div>
<p class="MsoNormal">Seif<u></u><u></u></p>
</div>
</div>
</div>

<br></div></div>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" rel="noreferrer" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
</blockquote></div>
</div></div><br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" rel="noreferrer" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</blockquote></div>