nagios and pthreads

Jeremie Le Hen jeremie at
Wed Jul 13 09:51:03 GMT 2005

Hi Christophe,

a quick glance at the archives whould have helped you.

> i know that we add already discuss about this problem, but is there any
> solution for this problem ?
> ---
> What's section on nagios website
> "FreeBSD and threads. On FreeBSD there's a native user-level
> implementation of threads called 'pthread' and there's also an optional
> ports collection 'linuxthreads' that uses kernel hooks. Some folks from
> Yahoo! have reported that using the pthread library causes Nagios to pause
> under heavy I/O load, causing some service check results to be lost.
> Switching to linuxthreads seems to help this problem, but not fix it. The
> lock happens in liblthread's __pthread_acquire() - it can't ever acquire
> the spinlock. It happens when the main thread forks to execute an active
> check. On the second fork to create the grandchild, the grandchild is
> created by fork, but never returns from liblthread's fork wrapper, because
> it's stuck in __pthread_acquire(). Maybe some FreeBSD users can help out
> with this problem."
> ---
> I have just upgraded to 5.4-STABLE but i encountered again the problem.
> Sometimes, there is a nagios forked child process which consume 100% of
> CPU.
> i have heard that there was perhaps a problem with libc_r reported by
> Luigi Rizzo on this list 06/22/2005, but no news since this date...
> My workaround is to have a cron job which run every hour and check if
> there is a bad nagios process and kill it... i know it's very ugly...
> Do you any solution or what could i do to get more trace when it happen ?
> sorry, but i am not familiar with ktrace like tools... If someone could
> help me to help nagios community on freebsd ;-) ?
> Thanks in advance.

This thread should countain some answers :

Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >

More information about the freebsd-hackers mailing list