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

(ITS#3792) slapd replica using syncrepl segfaults if master is down



Full_Name: James Downs
Version: slapd 2.2.26 cyrus-sasl 2.1.20
OS: 5.9 Generic_118558-06
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (64.95.118.32)


slapd, using syncrepl and a SASL bind, segfaults if the master is down.  If the
master is up, everything works properly.  If the master goes down, at the next
retry, slapd segfaults, if the master is down, slapd segfaults right after
trying to connect to the server.

----------------------------------------------------------
bdb_db_open: dbenv_open(/var/openldap-data)
slapd starting
daemon: added 7r
daemon: added 8r
daemon: added 9r
daemon: added 10r
=>do_syncrepl
daemon: select: listen=7 active_threads=0 tvp=zero
daemon: select: listen=8 active_threads=0 tvp=zero
daemon: select: listen=9 active_threads=0 tvp=zero
daemon: select: listen=10 active_threads=0 tvp=zero
ldap_create
ldap_url_parse_ext(ldaps://HOST)
ldap_pvt_sasl_getmech
ldap_search
put_filter: "(objectclass=*)"
put_filter: simple
put_simple_filter: "objectclass=*"
ldap_send_initial_request
ldap_new_connection
ldap_int_open_connection
ldap_connect_to_host: TCP HOST:636
ldap_new_socket: 14
ldap_prepare_socket: 14
ldap_connect_to_host: Trying HOSTIP:636
ldap_connect_timeout: fd: 14 tm: -1 async: 0
ldap_ndelay_on: 14
ldap_is_sock_ready: 14
ldap_is_socket_ready: error on socket 14: errno: 146 (Connection refused)
ldap_close_socket: 14
do_syncrep1: ldap_sasl_interactive_bind_s failed (-1)
Segmentation Fault
----------------------------------------------------------

Last part of truss output

open("/usr/local/var/run/slapd.pid", O_WRONLY|O_CREAT|O_TRUNC, 0666) Err#13
EACCES
open("/usr/local/var/run/slapd.args", O_WRONLY|O_CREAT|O_TRUNC, 0666) Err#13
EACCES
brk(0x0022CA98)                                 = 0
brk(0x00240A98)                                 = 0
mmap(0x00000000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) =
0xFED30000
mmap(0x00000000, 110592, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) =
0xFE6A0000
mmap(0x00000000, 4194304, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFE000000
lwp_create(0xFFBFF740, LWP_SUSPENDED, 0xFFBFF73C) = 2
/2:     lwp_create()    (returning as new lwp ...)      = 0
/1:     lwp_continue(2)                                 = 0
/2:     setustack(0xFEE00234)
/2:     listen(7, 10, 1)                                = 0
/2:     lwp_schedctl(SC_STATE|SC_PREEMPT, 0, 0xFE3FF71C) = 0
/2:     listen(8, 10, 1)                                = 0
/2:     listen(9, 10, 1)                                = 0
/2:     listen(10, 10, 1)                               = 0
/2:     time()                                          = 1119465141
/2:     time()                                          = 1119465141
/2:     mmap(0x00000000, 4194304, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFD800000
/2:     lwp_create(0xFE3FF550, LWP_DETACHED|LWP_SUSPENDED, 0xFE3FF54C) = 3
/2:     lwp_continue(3)                                 = 0
/3:     lwp_create()    (returning as new lwp ...)      = 0
/3:     setustack(0xFEE00434)
/3:     lwp_schedctl(SC_STATE|SC_PREEMPT, 0, 0xFDBFFCBC) = 0
/3:     brk(0x00240A98)                                 = 0
/3:     brk(0x00340A98)                                 = 0
/3:     time()                                          = 1119465141
/3:     brk(0x00340A98)                                 = 0
/3:     brk(0x00342A98)                                 = 0
/3:     door_info(3, 0xFDBFD128)                        = 0
/3:     door_call(3, 0xFDBFD110)                        = 0
/3:     door_info(3, 0xFDBFD0A8)                        = 0
/3:     door_call(3, 0xFDBFD090)                        = 0
/3:     so_socket(PF_INET, SOCK_STREAM, IPPROTO_IP, "", 1) = 14
/3:     setsockopt(14, tcp, TCP_NODELAY, 0xFDBFF4F8, 4, 1) = 0
/3:     fcntl(14, F_GETFL, 0xFDBFF480)                  = 2
/3:     fcntl(14, F_SETFL, 0x00000082)                  = 0
/3:     connect(14, 0x00229900, 16, 1)                  Err#150 EINPROGRESS
/3:     poll(0xFDBFEB90, 1, -1)                         = 1
/3:     getpeername(14, 0xFDBFF2F8, 0xFDBFF2F0, 1)      = 0
/3:     fcntl(14, F_GETFL, 0x00000000)                  = 130
/3:     fcntl(14, F_SETFL, 0x00000002)                  = 0
/3:     time()                                          = 1119465141
/3:     write(14, " 0 >020101 c 904\0\n01\0".., 64)     = 64
/3:     poll(0xFDBFEE40, 1, -1)                         = 1
/3:     read(14, " 0 <020101 d 704", 8)                 = 8
/3:     read(14, "\0 0 3 0 10417 s u p p o".., 54)      = 54
/3:     poll(0xFDBFEE40, 1, -1)                         = 1
/3:     read(14, " 0\f020101 e07\n", 8)                 = 8
/3:     read(14, "01\004\004\0", 6)                     = 6
/3:     time()                                          = 1119465142
/3:     getpeername(14, 0xFDBFF728, 0xFDBFF828, 1)      = 0
/3:     door_info(3, 0xFDBFCFB8)                        = 0
/3:     door_call(3, 0xFDBFCFA0)                        = 0
/3:     door_info(3, 0xFDBFCF38)                        = 0
/3:     door_call(3, 0xFDBFCF20)                        = 0
/3:     getuid()                                        = 130 [130]
/3:     getuid()                                        = 130 [130]
/3:     getgid()                                        = 130 [130]
/3:     getgid()                                        = 130 [130]
/3:     brk(0x00342A98)                                 = 0
/3:     brk(0x00344A98)                                 = 0
/3:     open("/usr/lib/sasl2", O_RDONLY|O_NDELAY|O_LARGEFILE) = 15
/3:     fstat64(15, 0xFDBFD970)                         = 0
/3:     fcntl(15, F_SETFD, 0x00000001)                  = 0
/3:     getdents64(15, 0x00341F10, 8192)                = 960
/3:     open("/usr/lib/sasl2/libanonymous.la", O_RDONLY) = 16
/3:     fstat64(16, 0xFDBFD910)                         = 0
/3:     brk(0x00344A98)                                 = 0
/3:     brk(0x00346A98)                                 = 0
/3:     fstat64(16, 0xFDBFD7B8)                         = 0
/3:     ioctl(16, TCGETA, 0xFDBFD89C)                   Err#25 ENOTTY
/3:     read(16, " #   l i b a n o n y m o".., 8192)    = 747
/3:     llseek(16, 0xFFFFFFFFFFFFFE1C, SEEK_CUR)        = 263
/3:     close(16)                                       = 0
/3:     stat("/usr/lib/sasl2/libanonymous.so.2", 0xFDBFD5A0) = 0
/3:     resolvepath("/usr/lib/sasl2/libanonymous.so.2",
"/usr/local/lib/sasl2/libanonymous.so.2.0.20", 1023) = 43
/3:     open("/usr/lib/sasl2/libanonymous.la", O_RDONLY) = 16
/3:     llseek(16, 0, SEEK_CUR)                         = 0
/3:     close(16)                                       = 0
/3:     open("/usr/lib/sasl2/libcrammd5.la", O_RDONLY)  = 16
/3:     fstat64(16, 0xFDBFD910)                         = 0
/3:     fstat64(16, 0xFDBFD7B8)                         = 0
/3:     ioctl(16, TCGETA, 0xFDBFD89C)                   Err#25 ENOTTY
/3:     read(16, " #   l i b c r a m m d 5".., 8192)    = 735
/3:     llseek(16, 0xFFFFFFFFFFFFFE24, SEEK_CUR)        = 259
/3:     close(16)                                       = 0
/3:     stat("/usr/lib/sasl2/libcrammd5.so.2", 0xFDBFD5A0) = 0
/3:     resolvepath("/usr/lib/sasl2/libcrammd5.so.2",
"/usr/local/lib/sasl2/libcrammd5.so.2.0.20", 1023) = 41
/3:     open("/usr/lib/sasl2/libcrammd5.la", O_RDONLY)  = 16
/3:     llseek(16, 0, SEEK_CUR)                         = 0
/3:     close(16)                                       = 0
/3:     open("/usr/lib/sasl2/libdigestmd5.la", O_RDONLY) = 16
/3:     fstat64(16, 0xFDBFD910)                         = 0
/3:     fstat64(16, 0xFDBFD7B8)                         = 0
/3:     ioctl(16, TCGETA, 0xFDBFD89C)                   Err#25 ENOTTY
/3:     read(16, " #   l i b d i g e s t m".., 8192)    = 780
/3:     llseek(16, 0xFFFFFFFFFFFFFDFB, SEEK_CUR)        = 263
/3:     close(16)                                       = 0
/3:     stat("/usr/lib/sasl2/libdigestmd5.so.2", 0xFDBFD5A0) = 0
/3:     resolvepath("/usr/lib/sasl2/libdigestmd5.so.2",
"/usr/local/lib/sasl2/libdigestmd5.so.2.0.20", 1023) = 43
/3:     open("/usr/lib/sasl2/libdigestmd5.la", O_RDONLY) = 16
/3:     llseek(16, 0, SEEK_CUR)                         = 0
/3:     close(16)                                       = 0
/3:     open("/usr/lib/sasl2/libgssapiv2.la", O_RDONLY) = 16
/3:     fstat64(16, 0xFDBFD910)                         = 0
/3:     fstat64(16, 0xFDBFD7B8)                         = 0
/3:     ioctl(16, TCGETA, 0xFDBFD89C)                   Err#25 ENOTTY
/3:     read(16, " #   l i b g s s a p i v".., 8192)    = 816
/3:     llseek(16, 0xFFFFFFFFFFFFFDD5, SEEK_CUR)        = 261
/3:     close(16)                                       = 0
/3:     stat("/usr/lib/sasl2/libgssapiv2.so.2", 0xFDBFD5A0) = 0
/3:     resolvepath("/usr/lib/sasl2/libgssapiv2.so.2",
"/usr/local/lib/sasl2/libgssapiv2.so.2.0.20", 1023) = 42
/3:     open("/usr/lib/sasl2/libgssapiv2.la", O_RDONLY) = 16
/3:     llseek(16, 0, SEEK_CUR)                         = 0
/3:     close(16)                                       = 0
/3:     open("/usr/lib/sasl2/libotp.la", O_RDONLY)      = 16
/3:     fstat64(16, 0xFDBFD910)                         = 0
/3:     fstat64(16, 0xFDBFD7B8)                         = 0
/3:     ioctl(16, TCGETA, 0xFDBFD89C)                   Err#25 ENOTTY
/3:     read(16, " #   l i b o t p . l a  ".., 8192)    = 720
/3:     llseek(16, 0xFFFFFFFFFFFFFE2B, SEEK_CUR)        = 251
/3:     close(16)                                       = 0
/3:     stat("/usr/lib/sasl2/libotp.so.2", 0xFDBFD5A0)  = 0
/3:     resolvepath("/usr/lib/sasl2/libotp.so.2",
"/usr/local/lib/sasl2/libotp.so.2.0.20", 1023) = 37
/3:     open("/usr/lib/sasl2/libotp.la", O_RDONLY)      = 16
/3:     llseek(16, 0, SEEK_CUR)                         = 0
/3:     close(16)                                       = 0
/3:     open("/usr/lib/sasl2/libplain.la", O_RDONLY)    = 16
/3:     fstat64(16, 0xFDBFD910)                         = 0
/3:     fstat64(16, 0xFDBFD7B8)                         = 0
/3:     ioctl(16, TCGETA, 0xFDBFD89C)                   Err#25 ENOTTY
/3:     read(16, " #   l i b p l a i n . l".., 8192)    = 723
/3:     llseek(16, 0xFFFFFFFFFFFFFE2C, SEEK_CUR)        = 255
/3:     close(16)                                       = 0
/3:     stat("/usr/lib/sasl2/libplain.so.2", 0xFDBFD5A0) = 0
/3:     resolvepath("/usr/lib/sasl2/libplain.so.2",
"/usr/local/lib/sasl2/libplain.so.2.0.20", 1023) = 39
/3:     open("/usr/lib/sasl2/libplain.la", O_RDONLY)    = 16
/3:     llseek(16, 0, SEEK_CUR)                         = 0
/3:     close(16)                                       = 0
/3:     getdents64(15, 0x00341F10, 8192)                = 0
/3:     close(15)                                       = 0
/3:     uname(0xFDBFF138)                               = 1
/3:     time()                                          = 1119465142
/3:     write(14, " 018020102 `1302010304\0".., 26)     = 26
/3:     poll(0xFDBFEDC8, 1, -1)                         = 1
/3:     read(14, " 081D0020102 a81", 8)                 = 8
/3:     read(14, "CA\n010E04\004\08781C0 n".., 203)     = 203
/3:     time()                                          = 1119465142
/3:     fstat(4, 0xFDBFF390)                            = 0
/3:     time()                                          = 1119465142
/3:     getpid()                                        = 14604 [14603]
/3:     putmsg(4, 0xFDBFEA48, 0xFDBFEA3C, 0)            = 0
/3:     open("/var/run/syslog_door", O_RDONLY)          = 15
/3:     door_info(15, 0xFDBFE980)                       = 0
/3:     getpid()                                        = 14604 [14603]
/3:     door_call(15, 0xFDBFE968)                       = 0
/3:     close(15)                                       = 0
/3:     open("/dev/random", O_RDONLY)                   = 15
/3:     read(15, "82 KF0\n16F0", 6)                     = 6
/3:     close(15)                                       = 0
/3:     times(0xFDBFF530)                               = 370607936
/3:     sysconfig(_CONFIG_CLK_TCK)                      = 100
/3:     fstat(4, 0xFDBFF738)                            = 0
/3:     time()                                          = 1119465142
/3:     getpid()                                        = 14604 [14603]
/3:     putmsg(4, 0xFDBFEDF0, 0xFDBFEDE4, 0)            = 0
/3:     open("/var/run/syslog_door", O_RDONLY)          = 15
/3:     door_info(15, 0xFDBFED28)                       = 0
/3:     getpid()                                        = 14604 [14603]
/3:     door_call(15, 0xFDBFED10)                       = 0
/3:     close(15)                                       = 0
/3:         Incurred fault #6, FLTBOUNDS  %pc = 0xFEEB4028
/3:           siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
/3:         Received signal #11, SIGSEGV [default]
/3:           siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000