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

(ITS#4667) assert core in connection.c



Full_Name: Quanah Gibson-Mount
Version: 2.3.27/HEAD
OS: Linux 2.6
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (171.64.19.81)


In dropping my servers under heavy load, I found I could trigger an assert in
connection.c  Note that I have not pulled down the changes to connection.c from
1.370 on.  However, I'm hitting an entirely different assert than previously,
and this is not "write" related.

back trace shows:

 gdb /usr/local/lib/slapd core.14451
Core was generated by `/usr/local/lib/slapd -h ldap:///'.
Program terminated with signal 6, Aborted.

(gdb) info threads
  10 process 14451  0x00002b91e1422e2c in pthread_join () from
/lib/libpthread.so.0
  9 process 14453  0x00002b91e14267c4 in __lll_mutex_lock_wait () from
/lib/libpthread.so.0
  8 process 14454  0x00002b91e14267c4 in __lll_mutex_lock_wait () from
/lib/libpthread.so.0
  7 process 15274  0x00002b91e15f66ff in read () from /lib/libc.so.6
  6 process 2098  0x00002b91e14267c4 in __lll_mutex_lock_wait () from
/lib/libpthread.so.0
  5 process 2099  0x00002b91e160d33d in pthread_setcanceltype () from
/lib/libc.so.6
  4 process 2100  0x00002b91e14267c4 in __lll_mutex_lock_wait () from
/lib/libpthread.so.0
  3 process 2101  0x00002b91e160d33d in pthread_setcanceltype () from
/lib/libc.so.6
  2 process 2102  0x00002b91e15ff789 in munmap () from /lib/libc.so.6
* 1 process 14452  0x00002b91e155f545 in raise () from /lib/libc.so.6


(gdb) thread 1
[Switching to thread 1 (process 14452)]#1  0x00002b91e1560cce in abort () from
/lib/libc.so.6
(gdb) bt
#0  0x00002b91e155f545 in raise () from /lib/libc.so.6
#1  0x00002b91e1560cce in abort () from /lib/libc.so.6
#2  0x00002b91e1559362 in __assert_fail () from /lib/libc.so.6
#3  0x00000000004276c9 in connection_next (c=0x0, index=0x407fd32c) at
connection.c:900
#4  0x00000000004277e8 in connections_timeout_idle (now=1157734457) at
connection.c:230
#5  0x0000000000425045 in slapd_daemon_task (ptr=0x3873) at daemon.c:1721
#6  0x00002b91e070782b in startMeUp () from /usr/local/lib/libhoard.so
#7  0x00002b91e1421b55 in start_thread () from /lib/libpthread.so.0
#8  0x00002b91e16027f0 in clone () from /lib/libc.so.6

(gdb) frame 3
#3  0x00000000004276c9 in connection_next (c=0x0, index=0x407fd32c) at
connection.c:900

900                     assert( connections[*index].c_conn_state ==
SLAP_C_INVALID );
(gdb) l
895                             }
896                             break;
897                     }
898
899                     assert( connections[*index].c_struct_state ==
SLAP_C_UNUSED );
900                     assert( connections[*index].c_conn_state ==
SLAP_C_INVALID );
901             }
902
903             ldap_pvt_thread_mutex_unlock( &connections_mutex );
904             return c;