[Date Prev][Date Next]
RE: search_candidates on win32
back-bdb is very stack-hungry, you need at least 2MB stack per thread to use
it at all. I haven't looked into how to control the size of a thread's stack
on Windows. If you can't set it (configure tries to set it to 16MB on
pthreads-based systems) then you should compile filterindex.c
with -DLDAP_PVT_THREAD_STACK_SIZE=0 to force it to use malloc instead.
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
Symas: Premier OpenSource Development and Support
> -----Original Message-----
> From: owner-openldap-devel@OpenLDAP.org
> [mailto:owner-openldap-devel@OpenLDAP.org]On Behalf Of Kervin Pierre
> Sent: Sunday, March 17, 2002 11:34 PM
> To: openldap-devel
> Subject: search_candidates on win32
> I can reliably crash slapd on win32 by running a ldapsearch that is not
> scope == base. CVS-14MAR02
> I think the problem is in the search_candidates() function in
> servers/slapd/back-bdb/search.c ...
> static int search_candidates( ... )
> int rc;
> Filter f, scopef, rf, xf;
> ID tmp[BDB_IDL_UM_SIZE];
> AttributeAssertion aa_ref;
> The declaration 'ID tmp[BDB_IDL_UM_SIZE];' causes a stack overflow.
> On my system, this evaluates to 'unsigned long tmp'.
> My question is, isn't that array to big? Can someone shed some light on
> http://linuxquestions.org/ - Ask linux questions, give linux help.
> http://splint.org/ - Write safe C code. splint source-code analyzer.