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

Re: (ITS#5489) Assert failed in slapd_clr_write()

On Wed, 30 Apr 2008, hyc@symas.com wrote:

> rein@OpenLDAP.org wrote:

>> We have seen a case where "assert(SLAP_SOCK_IS_ACTIVE(s))" in
>> slapd_clr_write() failed, see the stack trace at the end.  The
>> last log message (at loglevel stat) related to the socket was
>> "fd=657 closed (connection lost on write)".  The comment where
>> slapd_daemon_task() calls connection_write() makes me believe
>> that slapd_clr_write() should not have use assert here.  Remove
>> it or include it as a condition in the following if statement?
> How frequently can you reproduce this? I'm tempted to say move the
> assert into the if (SLAP_SOCK_IS_WRITE()) block, and see if it still
> triggers.

This is the only occurrence I have found of this abort, so it is not very 
reproduce able :-(  But the core shows that SLAP_SOCK_IS_WRITE would be 
false (as would SLAP_SOCK_IS_READ), so moving the assert into the if 
block should fix this case.  And asserting a writeable socket is also 
active makes sence to me.