On 2013-05-28, Stuart Henderson <stu@xxxxxxxxxxxxxxx> wrote: > On 2013-05-17, Alex Rousskov <rousskov@xxxxxxxxxxxxxxxxxxxxxxx> wrote: >> On 05/17/2013 01:28 PM, Loïc BLOT wrote: >> >>> I have found the problem. In fact it's the problem mentionned on my >>> last mail, is right. Squid FD limit was reached, but squid doesn't >>> mentionned every time the freeze appear that it's a FD limit >>> problem, then the debug was so difficult. >> >> Squid should warn when it runs out of FDs. If it does not, it is a >> bug. If you can reproduce this, please open a bug report in bugzilla >> and post relevant logs there. >> >> FWIW, I cannot confirm or deny whether reaching FD limit causes what >> you call an infinite loop -- there was not enough information in your >> emails to do that. However, if reaching FD limit causes high CPU >> usage, it is a [minor] bug. > > I've just hit this one, ktrace shows that it's in a tight loop doing > sched_yield(), I'll try and reproduce on a non-production system and open > a ticket if I get more details.. I haven't reproduced this in squid yet, but I recently hit a case with similar symptoms with another threaded program on OpenBSD which hit a loop on sched_yield if it received a signal while forking, this has now been fixed in the thread library. So if anyone knows how to reproduce, please try again after updating src/lib/librthread/rthread_fork.c to r1.8.