[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
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
http://www.symas.com http://highlandsun.com/hyc
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
>
>
> Hello,
>
> 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[131070]'.
>
> My question is, isn't that array to big? Can someone shed some light on
> this?
>
>
> --Kervin
>
>
> --
> http://linuxquestions.org/ - Ask linux questions, give linux help.
> http://splint.org/ - Write safe C code. splint source-code analyzer.