[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#7011) signal 6 got in ldap_abandon



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
>
>


-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/