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

(ITS#5586) SLAPD crashing with SIGABRT in connction.c on Solaris



Full_Name: Duncan Brannen
Version: 2.4.10
OS: Solaris 10
URL: http://www.st-andrews.ac.uk/openldapconf.tar
Submission from: (NULL) (138.251.61.69)



Slapd is crashing on a daily basis, 

robin 91 logs % /usr/local/SUNWspro/bin/dbx /usr/local/libexec/slapd
./slapd.core.01-07-08
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.6' in your
.dbxrc
Reading slapd
core file header read successfully
Reading ld.so.1
Reading libldap_r-2.4.so.2.0.6
Reading liblber-2.4.so.2.0.6
Reading libltdl.so.3.1.5
Reading libdb-4.2.so
Reading libicuuc.so.3
Reading libicudata.so.3
Reading libsasl2.so.2.0.22
Reading libdl.so.1
Reading libssl.so.0.9.8
Reading libcrypto.so.0.9.8
Reading libresolv.so.2
Reading libgen.so.1
Reading libnsl.so.1
Reading libsocket.so.1
Reading libc.so.1
Reading libgcc_s.so.1
Reading libgcc_s.so.1
Reading libpthread.so.1
Reading libm.so.2
Reading libCrun.so.1
Reading libc_psr.so.1
t@2 (l@2) terminated by signal ABRT (Abort)
0xfe2c0f90: __lwp_kill+0x0008:  bcc,a,pt  %icc,__lwp_kill+0x18  ! 0xfe2c0fa0
Current function is connection_next
  871                   assert( connections[*index].c_conn_state ==
SLAP_C_INVALID );
(dbx) threads
      t@1  a  l@1   ?()   LWP suspended in  __lwp_wait() 
o>    t@2  a  l@2   slapd_daemon_task()   signal SIGABRT in  __lwp_kill() 
      t@3  a  l@3   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
      t@4  a  l@4   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
      t@5  a  l@5   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
      t@6  a  l@6   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
      t@7  a  l@7   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
      t@8  a  l@8   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
      t@9  a  l@9   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
     t@10  a l@10   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
     t@11  a l@11   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
     t@12  a l@12   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
     t@13  a l@13   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
     t@14  a l@14   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
     t@15  a l@15   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
     t@16  a l@16   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
     t@17  a l@17   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
     t@18  a l@18   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 

(dbx) thread t@2
t@2 (l@2) stopped in __lwp_kill at 0xfe2c0f90
0xfe2c0f90: __lwp_kill+0x0008:  bcc,a,pt  %icc,__lwp_kill+0x18  ! 0xfe2c0fa0

(dbx) where
current thread: t@2
  [1] __lwp_kill(0x0, 0x6, 0x0, 0x6, 0xfc00, 0x0), at 0xfe2c0f90 
  [2] raise(0x6, 0x0, 0xfe2a4a98, 0xffffffff, 0xfe2e8284, 0x6), at 0xfe25fd78 
  [3] abort(0xfdfff3f0, 0x1, 0xfe2e9288, 0xa83f0, 0xfe2eb298, 0x0), at
0xfe23ff98 
  [4] __assert(0x1a1390, 0x1a13c4, 0x367, 0x0, 0xa810c, 0x1d7708), at 0xfe2401d4

=>[5] connection_next(c = (nil), index = 0xfdfff6d4), line 871 in
"connection.c"
  [6] connections_timeout_idle(now = 1214890154), line 225 in "connection.c"
  [7] slapd_daemon_task(ptr = (nil)), line 2152 in "daemon.c"

(dbx) print *c
dbx: reference through nil pointer

-------------------------------

>From another core

t@2 (l@2) terminated by signal ABRT (Abort)
0xfe2c0f90: __lwp_kill+0x0008:  bcc,a,pt  %icc,__lwp_kill+0x18  ! 0xfe2c0fa0
Current function is connection_next
  871                   assert( connections[*index].c_conn_state ==
SLAP_C_INVALID );
(dbx) threads
      t@1  a  l@1   ?()   LWP suspended in  __lwp_wait() 
o>    t@2  a  l@2   slapd_daemon_task()   signal SIGABRT in  __lwp_kill() 
      t@3  a  l@3   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
      t@4  a  l@4   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
      t@5  a  l@5   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
      t@6  a  l@6   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
      t@7  a  l@7   ldap_int_thread_pool_wrapper()   sleep on 0x2580f8  in 
__lwp_park() 
(dbx) thread t@2
t@2 (l@2) stopped in __lwp_kill at 0xfe2c0f90
0xfe2c0f90: __lwp_kill+0x0008:  bcc,a,pt  %icc,__lwp_kill+0x18  ! 0xfe2c0fa0
(dbx) where
current thread: t@2
  [1] __lwp_kill(0x0, 0x6, 0x0, 0x6, 0xfc00, 0x0), at 0xfe2c0f90 
  [2] raise(0x6, 0x0, 0xfe2a4a98, 0xffffffff, 0xfe2e8284, 0x6), at 0xfe25fd78 
  [3] abort(0xfdfff3f0, 0x1, 0xfe2e9288, 0xa83f0, 0xfe2eb298, 0x0), at
0xfe23ff98 
  [4] __assert(0x1a1390, 0x1a13c4, 0x367, 0x0, 0xa810c, 0x1d7708), at 0xfe2401d4

=>[5] connection_next(c = (nil), index = 0xfdfff6d4), line 871 in
"connection.c"
  [6] connections_timeout_idle(now = 1214582536), line 225 in "connection.c"
  [7] slapd_daemon_task(ptr = (nil)), line 2152 in "daemon.c"
(dbx) print *c
dbx: reference through nil pointer


-----------------------------



I've not been able to reproduce reliably, but
it's only affecting the servers queried by our mailhosts doing this kind of
search.


Jul  1 11:13:10 robin slapd[13561]: [ID 469902 local4.debug] conn=21586 op=8
SRCH base="dc=st-andrews,dc=ac,dc=uk" scope=2 deref=0
filter="(&(uid=@st-andrews.ac.uk)(objectClass=posixAccount))"

I'll copy the config files to the url
http://www.st-andrews.ac.uk/openldapconf.tar
for information.