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

Mike Lindsey mike+nagiosplug at bettyscout.org
Thu Oct 22 20:35:30 CEST 2009


Also of note is the ldap_bind_s() call is part of a deprecated API and 
should be replaced with ldap_simple_bind_s()

That doesn't solve this problem, however.

Mike Lindsey wrote:
> Commenting out the explicit ldap_unbind() seems to solve the issue.  I'm 
> guessing that the openssl libraries are doing an implicit unbind, 
> without checking to see if there has been an explicit ldap_unbind()
> 
> Hopefully if someone else runs into this issue, they'll have an easier 
> time of it.
> 
> Mike Lindsey wrote:
>> 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