On Wed, 30 Apr 2008, hyc(a)symas.com wrote:
> rein(a)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.
Rein