[Nagiosplug-help] check_ldap bus error with --ssl or --starttls

Mike Lindsey mike+nagiosplug at bettyscout.org
Wed Oct 21 03:16:45 CEST 2009


Running check_ldap from nagios-plugins 1.4.14, on FreeBSD 6.3.

$ ./check_ldap --version
check_ldap v1.4.14 (nagios-plugins 1.4.14)

The check works fine as long as I'm not doing an ldaps check:
$ ./check_ldap -t 60 -H some.host.name -w "4" -c "6" -b "dc=xx,dc=com" 

LDAP OK 0.012 seconds response 
time|time=0.012487s;4.000000;6.000000;0.000000

If I tack on --ssl or -starttls, the check still runs successfully, but 
then on exit core dumps with a bus error, and exits with code 138:

$ ./check_ldap -t 60 -H some.host.name -w "4" -c "6" -b "dc=xx,dc=com" 
-p 636 --ssl
LDAP OK - 0.022 seconds response 
time|time=0.022363s;4.000000;6.000000;0.000000
Bus error: 10 (core dumped)

A little time with gdb gives me:
Program received signal SIGBUS, Bus error.
0x00000008009804bf in sk_pop_free () from /usr/local/lib/libcrypto.so.5

libcrypto.so.5 comes from openssl.  The openssl version I have installed 
is: openssl-0.9.8k_5

Some googling tells me that some people have had a similar issue with 
php scripts and closing an already closed socket, but this isn't php, 
and I don't see a socket close command in check_ldap.c...

I even thought about just wrapping check_ldap in a check_ldaps shell 
script that grabs the output, tosses the bus error message, and parses 
the output to generate a useful exit code; but if I do that, check_ldap 
only seems to want to output a blank line, followed by the Bus error.

I'd love to not have to debug openssl libcrypto libraries, so if anyone 
out there has ideas on what I should check or try next, I'd love some 
illumination.

-- 
Mike Lindsey




More information about the Help mailing list