On Wed, 30 Apr 2008, [EMAIL PROTECTED] wrote:
> [EMAIL PROTECTED] 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
