Hi,<div>  I seem to have hit upon a weird bug in the Erlang scheduler. I'm running R15B01 on Linux 64bit, Erlang compiled with HiPE disabled. Erlang starts up with 4 scheduler threads and everything is ok for a while. After a period of time the CPU usage drops on the machine and things start going slow. top -H shows 2 threads of the 4 running at around 15% and the other 2 at 95%. Typically all 4 threads are more or less in the same CPU utilization figures. strace on the process shows the two sluggish threads alternating between calls to futex_wait and sched_yield while the other two are doing a lot of other stuff.</div>
<div><br></div><div>  Here is a sample of strace -f -p <pid> |grep <thread id></div><div><br></div><div><div><div>20292 sched_yield( <unfinished ...></div><div>20292 <... sched_yield resumed> )       = 0</div>
<div>20292 sched_yield( <unfinished ...></div><div>20292 <... sched_yield resumed> )       = 0</div><div>20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div><div>
20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div>
<div>20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div><div>20292 futex(0x1bf2220, FUTEX_WAIT_PRIVATE, 4294967295, NULL <unfinished ...></div>
<div>20292 <... futex resumed> )             = 0</div><div>20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div>
<div>20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div><div>
20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div><div>20292 sched_yield()                     = 0</div><div><br></div></div></div><div>  My only option out of this now is to restart the node, when it again runs happily for a while before scheduler threads start dropping off. I'd be happy to provide any more dumps/info that maybe needed to get to the bottom of this. </div>
<div><br></div><div>Thanks</div><div>--<br>Jebu Ittiachen<br><a href="mailto:jebu.ittiachen@gmail.com">jebu.ittiachen@gmail.com</a><br>
</div>