Nagios 3.0rc3 can't execute plugins on NetBSD 4.0

Ethan Galstad nagios at nagios.org
Mon Mar 10 22:12:07 CET 2008


Magnus Bergroth wrote:
> Hi,
> 
> I have a new installation of Nagios 3.0rc3 on a NetBSD 4.0 Server. It has a
> basic configuration just monitoring the local host. But it can't execute the
> nagios plugins. I found that something goes wrong when 
> run_async_service_check() in checks.c calls close_command_file(). If I
> exclude close_command_file() it starts working. Going deeper, 
> close_command_file() in utils.c calls shutdown_command_file_worker_thread()
> that calls pthread_join(worker_threads[COMMAND_WORKER_THREAD],NULL).
> Excluding pthread_join() and the plugins starts to work.
> 
> The call for close_command_file was added what I can see in rev 1.156 of 
> checks.c. 
> 
> It looks like pthread on NetBSD dosen't work but as the close_command_file is
> called from the child process should it call pthread_join?
> 
> 
> 
> The log nagios.log:
> [1204817958] Warning: The check of service 'PING' on host 'localhost' looks
> like it was orphaned (results never came back).  I'm scheduling an immediate
> check of the service...
> 
> 
> A ktruss of the nagios process
>  2901      3 nagios   fork()                      = 16041
>   2901      3 nagios   close(0x5)                  = 0
>   2901      3 nagios   stop kernel
>  16041      1 nagios   emul(netbsd)
>  16041      1 nagios   fork                        = 0
>  16041      1 nagios   gettimeofday(0xbfbfe3a8, 0) = 0
>  16041      1 nagios   gettimeofday(0xbfbfe3a8, 0) = 0
>  16041      1 nagios   gettimeofday(0xbfbfe3a8, 0) = 0
>  16041      1 nagios   gettimeofday(0xbfbfe3a8, 0) = 0
>  16041      1 nagios   gettimeofday(0xbfbfe3a8, 0) = 0
>  16041      1 nagios   gettimeofday(0xbfbfe398, 0) = 0
>  16041      1 nagios   gettimeofday(0xbfbfe3a8, 0) = 0
>  16041      1 nagios   gettimeofday(0xbfbfe398, 0) = 0
>  16041      1 nagios   gettimeofday(0xbfbfe3a8, 0) = 0
>  16041      1 nagios   gettimeofday(0xbfbfe3a8, 0) = 0
>  16041      1 nagios   gettimeofday(0xbfbfe3a8, 0) = 0
>  16041      1 nagios   _lwp_wakeup(0x1)            Err#19 ENODEV
>  16041      1 nagios   sa_yield()                  Err#22 EINVAL
>  16041      1 nagios   write(0x2, 0xbb3ffbb0, 0x8b) = 139
>        "assertion "unreachable" failed: file
> "/home/builds/ab/netbsd-4-0-RELEASE/src/lib/libpthread/pthread.c", line 551,
>  function "pthread__idle"\n"
>  16041      1 nagios   getpid()                    = 16041, 2901
>  16041      1 nagios   kill(0x3ea9, 0x6)           = 0
>  16041      1 nagios   SIGABRT SIG_DFL
>   2901      3 nagios   resume kernel
>   2901      3 nagios   wait4(0x3ea9, 0, 0, 0)      = 16041
> 
> 
> Kindly
> 
> Magnus
> 

Good detective work!  I have committed a patch to CVS that I believe
should fix this problem.  Please download the latest CVS tarball when
you get a chance to verify this problem if fixed.


Ethan Galstad
Nagios Developer
___
Email: nagios at nagios.org
Web:   www.nagios.org

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/




More information about the Developers mailing list