ogermain@tibco.com wrote:
Full_Name: Olivier GERMAIN Version: 2.4.24 OS: Solaris 5.10 URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (212.157.248.2)
Dear All,
One of our customer got a signal 6 during the execution of the ldap_abandon. This signal occurred whereas some maintenance was doing on a firewall which is not located on the same network. It seems that the ldap_abandon thrown this assert because it was a situation like a can't happen. I don't have much information on the action performed on the firewall which led to this sigabort.
Please find the logs I have : 2011-07-19 04:08:52.876909|ENG|FATAL|84|engine.cpp(109)| /appl/kabira/MIPSPLUS-1.5.1-110510-SOL64/kis/distrib/kabira/lib/libsyssrv.so:sw_debugSignalHandler+0x18 2011-07-19 04:08:52.877541|ENG|FATAL|84|engine.cpp(109)| /lib/sparcv9/libc.so.1:<static-func>+0x5b0 2011-07-19 04:08:52.878082|ENG|FATAL|84|engine.cpp(109)| /lib/sparcv9/libc.so.1:<static-func>+0x628 2011-07-19 04:08:52.878658|ENG|FATAL|84|engine.cpp(109)| /lib/sparcv9/libc.so.1:_lwp_kill+0x8 [ Signal 6 (SIGABRT) ] 2011-07-19 04:08:52.879196|ENG|FATAL|84|engine.cpp(109)| /lib/sparcv9/libc.so.1:abort+0xd0 2011-07-19 04:08:52.879733|ENG|FATAL|84|engine.cpp(109)| /lib/sparcv9/libc.so.1:_assert+0x74 2011-07-19 04:08:52.880325|ENG|FATAL|84|engine.cpp(109)| /appl/kabira/MIPSPLUS-1.5.1-110510-SOL64/kis/3rdparty/sol/openldap/2.4.24_64/lib/libldap-2.4.so.2.6.0:<static-func>+0x4ec 2011-07-19 04:08:52.880776|ENG|FATAL|84|engine.cpp(109)| /appl/kabira/MIPSPLUS-1.5.1-110510-SOL64/kis/3rdparty/sol/openldap/2.4.24_64/lib/libldap-2.4.so.2.6.0:ldap_abandon+0xac
I am in the process of a reproduction of this signal 6 but I would like to share the following idea.
Do you think there is a possibility to enhance the openldap library to avoid this assert? Is it possible that instead of having an assert, we have a exception or a status code which tell us something went wrong of obviously that we can handle in our source code.
An assert means there is a bug, either in your code or ours. Since this part of the library has been around for several years with no issues, that generally means it's a bug in your code. The way to handle this is to fix your code.
Trapping or ignoring the conditions that are asserted is just a bad idea.
My best regards Olivier GERMAIN TIBCO Support team