nagios and pthreads

Michal Mertl michal.mertl at i.cz
Wed Jul 13 16:00:29 GMT 2005


Jeremie Le Hen wrote:
> Hi Christophe,
> 
> a quick glance at the archives whould have helped you.

I also experienced the problem and read the thread. I don't believe
anybody found and shared a way to solve it. The conclusion of the thread
was that the problem is more in the application then in FreeBSD - the
application does things not well defined in POSIX threading environment.

The right fix is probably a non trivial change to Nagios.


> > 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 :
> http://lists.freebsd.org/pipermail/freebsd-hackers/2005-June/012435.html
> 
> Regards,



More information about the freebsd-hackers mailing list