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

BDB Locking problem



Im running this rather large database. I am getting the
sched_yield()                           = 0
error with openldap 2.1.12., bsb-4.1.x, RH7.3

I thought this bug was fixed?? I guess not.

I read something where you need to increase the maximum number of locks
for the bdb database but how do you set it in the slapd file?

It was working fine before i axed the 2Gig swapfile I had set up with the
same configuration file. ... Is this automatically configuring itself on
how much RAM you have available or something along those lines? The
machine has a 1G swap partition but only 256M of ram so the 2G swap file
made it look like it had 3G available.

Sean


--------------------------------------
  Sean O'Malley, Information Technologist
  Michigan State University
-------------------------------------

On Fri, 7 Feb 2003, Howard Chu wrote:

> > -----Original Message-----
> > From: owner-openldap-software@OpenLDAP.org
> > [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Joseph Ferner
>
> > > The code 18 means LDAP_INAPPROPRIATE_MATCHING; this means the
> > > attribute you're filtering does not support equality matching
> > > or something like that; it does not automatically imply a
> > > bug, it looks more like an invalid syntax or matching rule problem.
> > >
> > > Can you dig a bit further in what is causing the error?
>
> > I believe it is a problem with bdb_idl_fetch_key (idl.c).
> > 	Line 274: ID buf[BDB_IDL_DB_SIZE*5];
> > Is creating a stack overflow (that is a lot of memory for the stack).
>
> Nice that you went into the code to look for the problem, but you should also
> have
> read the comment immediately above that line of code. If this is really a
> stack overrun situation, then you should either increase the thread stack
> size or decrease this buffer size. If you are using BDB 4.0 then you cannot
> decrease the buffer size without triggering a memory leak in BDB. You must
> upgrade to BDB 4.1. If you're running BDB 4.1, you can change the buffer to
> just
> 	ID buf[BDB_IDL_DB_SIZE];
> which is what it was before we discovered the memory leak problem in BDB 4.0.
>
>   -- Howard Chu
>   Chief Architect, Symas Corp.       Director, Highland Sun
>   http://www.symas.com               http://highlandsun.com/hyc
>   Symas: Premier OpenSource Development and Support
>