rein@OpenLDAP.org wrote:
Full_Name: Rein Tollevik Version: CVS head OS: URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (81.93.160.250) Submitted by: rein
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.
Rein Tollevik Basefarm AS
Program terminated with signal 6, Aborted. (gdb) where #0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0xb7b777a5 in raise () from /lib/tls/libc.so.6 #2 0xb7b79209 in abort () from /lib/tls/libc.so.6 #3 0xb7b70d91 in __assert_fail () from /lib/tls/libc.so.6 #4 0x0806da8f in slapd_clr_write (s=657, wake=0) at daemon.c:931 #5 0x080726d7 in connection_write (s=657) at connection.c:1814 #6 0x080717bc in slapd_daemon_task (ptr=0x0) at daemon.c:2414 #7 0xb7c80371 in start_thread () from /lib/tls/libpthread.so.0 #8 0xb7c17ffe in clone () from /lib/tls/libc.so.6