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

(ITS#3666) back-bdb ignores cachesize limit



Full_Name: Howard Chu
Version: 2.2
OS: 
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (24.126.120.178)
Submitted by: hyc


Followup to http://www.openldap.org/lists/openldap-software/200504/msg00288.html

The ctxcsn commit function can cause the LRU cache to be corrupted when adding
the first entry of a database. This happens because the commit function does a
dn2entry to look itself up, while the context entry is still being committed to
the database; later the actual add of the context entry completes and its
entryinfo is added into the cache twice. (Once due to the dn2entry call, once
during completion of the entry add.) The bug only occurs when freshly creating a
database via ldapAdd, and a server restart clears the condition after the
context entry and syncProviderSubentry are written. But running one long ldapAdd
to populate the database will exhaust system memory if the server is not stopped
and restarted first.

A fix will be committed momentarily.

This bug does not affect HEAD/2.3 as the offending functions were deleted
already.