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

(ITS#5729) back-hdb segfaults



Full_Name: Quanah Gibson-Mount
Version: RE24 10/7/2008
OS: Linux 2.6
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (75.111.29.239)


I have a database using back-hdb, which segfaults while creating a domain in the
database (zimbra style).

It's clearly logged here:

Tue Oct  7 12:16:26 2008 *** Running as zimbra user: /opt/zimbra/bin/zmprov -l
cd freelancer.lab.zimbra.com
ERROR: service.FAILURE (system failure: unable to create domain:
freelancer.lab.zimbra.com) (cause: javax.naming.ServiceUnavailableException
freelancer.lab.zimbra.com:389; socket closed)

where the socket got closed during the operation (cd means create domain, and
would add a dc=freelancer,dc=lab,dc=zimbra,dc=com object in the database).

backtrace has:

(gdb) bt
#0  0x00002b41adac6839 in hdb_dn2id_add (op=0x1d11bc00, txn=0x1dc6ea20,
eip=0x1b765080, e=0x1d01f828) at dn2id.c:617
#1  0x00002b41adab2029 in hdb_add (op=0x1d11bc00, rs=0x434aac70) at add.c:329
#2  0x000000000043cecd in fe_op_add (op=0x1d11bc00, rs=0x434aac70) at add.c:334
#3  0x000000000043c857 in do_add (op=0x1d11bc00, rs=0x434aac70) at add.c:194
#4  0x0000000000433d59 in connection_operation (ctx=0x434aadc0,
arg_v=0x1d11bc00) at connection.c:1084
#5  0x0000000000434274 in connection_read_thread (ctx=0x434aadc0, argv=0xc) at
connection.c:1210
#6  0x00002b41aa6c3a27 in ldap_int_thread_pool_wrapper (xpool=0x1b75fe00) at
tpool.c:663
#7  0x00000038dcc061b5 in start_thread () from /lib64/libpthread.so.0
#8  0x00000038dc0cd36d in clone () from /lib64/libc.so.6
#9  0x0000000000000000 in ?? ()

(gdb) print *eip
$2 = {bei_parent = 0x0, bei_id = 0, bei_lockpad = 0, bei_state = 128,
bei_finders = 0, bei_nrdn = {bv_len = 0, bv_val = 0x0}, bei_rdn = {bv_len = 0,
bv_val = 0x0}, bei_modrdns = 0,
  bei_ckids = 1, bei_dkids = 0, bei_e = 0x1d01f008, bei_kids = 0x1da3c080,
bei_kids_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0,
__kind = 0, __spins = 0,
      __list = {__prev = 0x0, __next = 0x0}}, __size = '\0' <repeats 39 times>,
__align = 0}, bei_lrunext = 0x0, bei_lruprev = 0x0}

(gdb) print *eip->bei_e
$3 = {e_id = 0, e_name = {bv_len = 0, bv_val = 0x1d13e9d8 ""}, e_nname = {bv_len
= 0, bv_val = 0x1d13e9d0 ""}, e_attrs = 0x0, e_ocflags = 288, e_bv = {bv_len =
0, bv_val = 0x0},
  e_private = 0x1b765080}


--Quanah