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

(ITS#3821) back-hdb crashes config engine if back-bdb is also present



Full_Name: Dusty Doris
Version: 2.3.4
OS: Freebsd 5.4
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (216.68.21.124)


back-hdb crashes config engine if back-bdb is also present.

How to reproduce:

edit slapd.conf and load both hdb and bdb and create an hdb database.
eg:
moduleload      back_bdb
moduleload      back_hdb

database        hdb
...

start slapd
add a few entries to the hdb database suffix
stop slapd
restart slapd

GDB on slapd.core
(gdb) bt 20
#0  0x283fa042 in bdb_cf_gen (c=0xbfbfe5e0) at config.c:489
#1  0x0805edb3 in config_set_vals ()
#2  0x0805f1e3 in config_add_vals ()
#3  0x0805fa77 in config_parse_add ()
#4  0x0805bb60 in read_config ()
#5  0x0805a279 in anlist_unparse ()
#6  0x0807703d in slap_send_search_entry ()
#7  0x080bf5c1 in slapacl ()
#8  0x080bf9b1 in slapacl ()
#9  0x080bfaa6 in slapacl ()
#10 0x080c0484 in ldif_back_referrals ()
#11 0x0805a67b in anlist_unparse ()
#12 0x0805a966 in read_config ()
#13 0x08054200 in main ()

(gdb) bt full
#0  0x283fa042 in bdb_cf_gen (c=0xbfbfe5e0) at config.c:489
        re = (struct re_s *) 0x10
        bdb = (struct bdb_info *) 0x826f400
        rc = -1077946468
#1  0x0805edb3 in config_set_vals ()
No symbol table info available.
#2  0x0805f1e3 in config_add_vals ()
No symbol table info available.
#3  0x0805fa77 in config_parse_add ()
No symbol table info available.
#4  0x0805bb60 in read_config ()
No symbol table info available.
#5  0x0805a279 in anlist_unparse ()
No symbol table info available.
#6  0x0807703d in slap_send_search_entry ()
No symbol table info available.
#7  0x080bf5c1 in slapacl ()
No symbol table info available.
#8  0x080bf9b1 in slapacl ()
No symbol table info available.
#9  0x080bfaa6 in slapacl ()
No symbol table info available.
#10 0x080c0484 in ldif_back_referrals ()
No symbol table info available.
#11 0x0805a67b in anlist_unparse ()
No symbol table info available.
#12 0x0805a966 in read_config ()
No symbol table info available.
#13 0x08054200 in main ()
No symbol table info available.

(gdb) frame 0
#0  0x283fa042 in bdb_cf_gen (c=0xbfbfe5f0) at config.c:489
489                                     re->interval.tv_sec = bdb->bi_txn_cp_min
* 60;

(gdb) list
484                      * submit a task to perform periodic checkpoints.
485                      */
486                     if ((slapMode & SLAP_SERVER_MODE) && bdb->bi_txn_cp_min
) {
487                             struct re_s *re = bdb->bi_txn_cp_task;
488                             if ( re )
489                                     re->interval.tv_sec = bdb->bi_txn_cp_min
* 60;
490                             else
491                                     bdb->bi_txn_cp_task =
ldap_pvt_runqueue_insert( &slapd_rq,
492                                             bdb->bi_txn_cp_min * 60,
bdb_checkpoint, bdb,
493                                             LDAP_XSTRING(bdb_checkpoint),
c->be->be_suffix[0].bv_val );