nagios and pthreads

Christophe Yayon lists at
Tue Jul 12 19:33:25 GMT 2005

Hi all,

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
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.

More information about the freebsd-hackers mailing list