<div dir="ltr">It seems to be related to thread pool threads. I wrote a simple program that reproduces the problem:<div><br></div><div><div>using System.Threading;</div><div>using System.Threading.Tasks;</div><div><br></div>

<div>namespace MultiThreadApp</div><div>{</div><div><span class="" style="white-space:pre">     </span>class Program</div><div><span class="" style="white-space:pre">      </span>{</div><div><span class="" style="white-space:pre">          </span>static ManualResetEvent evnt = new ManualResetEvent(false);</div>

<div><br></div><div><span class="" style="white-space:pre">           </span>static void Main(string[] args)</div><div><span class="" style="white-space:pre">            </span>{</div><div><span class="" style="white-space:pre">                  </span>for (int i = 0; i < 50; ++i)</div>

<div><span class="" style="white-space:pre">                    </span>{</div><div><span class="" style="white-space:pre">                          </span>Task task = new Task(DoNothing);</div><div><span class="" style="white-space:pre">                           </span>task.Start();</div>

<div><span class="" style="white-space:pre">                    </span>}</div><div><br></div><div><span class="" style="white-space:pre">                 </span>evnt.WaitOne();</div><div><span class="" style="white-space:pre">            </span>}</div><div><br>
</div>
<div><span class="" style="white-space:pre">            </span>static void DoNothing()</div><div><span class="" style="white-space:pre">            </span>{</div><div><span class="" style="white-space:pre">                  </span>Thread.Sleep(1000);</div>

<div><span class="" style="white-space:pre">            </span>}</div><div><span class="" style="white-space:pre">  </span>}</div><div>}</div><div><br></div><div class="gmail_extra"><br clear="all"><div><div dir="ltr"><div><div><div>

<br></div><div><a></a><br></div></div></div></div></div>
<br><br><div class="gmail_quote">On Fri, Jan 31, 2014 at 2:31 PM, Jonathan Gagnon <span dir="ltr"><<a href="mailto:jonathan.gagnon@croesus.com" target="_blank">jonathan.gagnon@croesus.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr"><div>It seems like this bug <a href="https://bugzilla.novell.com/show_bug.cgi?id=379602" target="_blank">https://bugzilla.novell.com/show_bug.cgi?id=379602</a> in mono 3.2.5.</div><div><br></div><div>I was fixed in mono 2.4 but it seems to have reappeared since then because my process is using CPU at doing nothing and I noticed it gets worse if I add threads (even if they do nothing). When I use strace on a process running with mono 3.2.5, I get a similar output :</div>


<div><br></div><div><div>futex(0x9ce6520, FUTEX_WAIT, 81061, {0, 999009600}) = -1 ETIMEDOUT (Connection timed out)</div><div>time(NULL)                              = 1391196463</div><div>futex(0x9ce6504, FUTEX_WAKE, 1)         = 0</div>


<div>gettimeofday({1391196463, 363628}, NULL) = 0</div><div>gettimeofday({1391196463, 363707}, NULL) = 0</div><div>time(NULL)                              = 1391196463</div><div>gettimeofday({1391196463, 363848}, NULL) = 0</div>


<div>time(NULL)                              = 1391196463</div><div>time(NULL)                              = 1391196463</div><div>clock_gettime(CLOCK_REALTIME, {1391196463, 364038031}) = 0</div><div>futex(0x9ce6520, FUTEX_WAIT, 81063, {0, 998961969}) = -1 ETIMEDOUT (Connection timed out)</div>


<div>time(NULL)                              = 1391196464</div><div>futex(0x9ce6504, FUTEX_WAKE, 1)         = 0</div><div>gettimeofday({1391196464, 363500}, NULL) = 0</div><div>gettimeofday({1391196464, 363597}, NULL) = 0</div>


<div>time(NULL)                              = 1391196464</div><div>gettimeofday({1391196464, 363713}, NULL) = 0</div><div>time(NULL)                              = 1391196464</div><div>time(NULL)                              = 1391196464</div>


<div>clock_gettime(CLOCK_REALTIME, {1391196464, 363903927}) = 0</div></div><div><br></div><div>The same process doesn't use any cpu time when running on .NET.</div><div><br></div><div>Any idea what could cause this problem.  Has anyone else noticed this problem?</div>

<span class=""><font color="#888888">
<div><br></div><div>Jonathan</div>
</font></span></div>
</blockquote></div><br></div></div></div>