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

RE: slapd crash in bdb_entry_return() (ITS#1994)



Ah, the ever popular Windows multiple-heaps problem. I'm surprised it
didn't hit right away. We need to add a DB_ENV->set_alloc call to
back-bdb/init.c;
this is a trivial fix.

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

> -----Original Message-----
> From: owner-openldap-bugs@OpenLDAP.org
> [mailto:owner-openldap-bugs@OpenLDAP.org]On Behalf Of
> kervin@blueprint-tech.com
> Sent: Friday, August 02, 2002 4:38 PM
> To: openldap-its@OpenLDAP.org
> Subject: Re: slapd crash in bdb_entry_return() (ITS#1994)
>
>
> More information on the error...
>
>   Runtime: Executing "slapd", pid=2632
>  >>                 free( p );
>    Memory allocation conflict: <argument 1>
>    heap used to deallocate memory which was allocated in a different heap
>                    block allocated at:
>                            malloc()  (interface)
>            libdb40.dll 0x1305509a()
>                      ** routines compiled without debug info **
>                   bdb_id2entry_rw()  id2entry.c, 107
>                   bdb_dn2entry_rw()  dn2entry.c, 59
>                     bdb_referrals()  referral.c, 46
>           backend_check_referrals()  backend.c, 996
>                            do_add()  add.c, 230
>              connection_operation()  connection.c, 952
>      ldap_int_thread_pool_wrapper()  tpool.c, 401
>                    _threadstartex()  threadex.c, 212
>    Stack trace where the error occurred:
>                              free()  (interface)
>                       ber_memfree()  memory.c, 144
>                           ch_free()  ch_malloc.c, 125
>                  bdb_entry_return()  id2entry.c, 227
>            bdb_cache_add_entry_rw()  cache.c, 601
>                           bdb_add()  add.c, 437
>                            do_add()  add.c, 286
>              connection_operation()  connection.c, 952
>      ldap_int_thread_pool_wrapper()  tpool.c, 401
>                    _threadstartex()  threadex.c, 212
>
>
>