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

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



Thanks, this is now fixed in CVS HEAD.

Note that the crash only occurs when slapd is starting up using the 
config directory, not a config file.

openldap@mail.doris.cc wrote:
> 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 );
>
>
>   


-- 
  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support