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

RE: OpenLDAP 2.1.8 on Win2000



Looks like you've run out of stack space on that particular thread. The next
function, after bdb_dn2idl, is probably bdb_idl_fetch_key() which requires
1.3MB of stack all by itself. Since you're running BDB 4.1.24 it would be
safe for you to reduce this requirement by patching (in back-bdb/idl.c
bdb_idl_fetch_key()) the declaration
	ID buf[BDB_IDL_DB_SIZE*5];
to just
	ID buf[BDB_IDL_DB_SIZE];

Generally when back-bdb is used you need at least 2MB of stack space per
thread. It looks like libldap_r's thr_nt.c doesn't explicitly set the thread
stack size, so that's part of the problem as well. I have no idea how big the
default size is, it depends on your compiler/linker and you can override it
at link time.

  -- 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-software@OpenLDAP.org
> [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Geert Van
> Muylem
> Sent: Tuesday, December 17, 2002 12:08 PM
> To: Geert.Van.Muylem@SKYNET.BE; 'LDAP Mailing List (E-mail)'
> Subject: RE: OpenLDAP 2.1.8 on Win2000
>
>
> This is a dump of the call stack...
>
> $$$00001() line 79
> bdb_dn2idl(slap_backend_db * 0x00f86c38, berval * 0x00f91e34, int 37,
> unsigned long * 0x015b0040) line 542 + 23 bytes
> bdb_filter_candidates(slap_backend_db * 0x00f86c38, slap_filter *
> 0x014afd74, unsigned long * 0x015b0040, unsigned long *
> 0x01530040, unsigned
> long * 0x01630040) line 67 + 22 bytes
> list_candidates(slap_backend_db * 0x00f86c38, slap_filter *
> 0x014afd74, int
> 160, unsigned long * 0x014afe40, unsigned long * 0x01530040,
> unsigned long *
> 0x015b0040) line 220 + 31 bytes
> bdb_filter_candidates(slap_backend_db * 0x00f86c38, slap_filter *
> 0x014afd84, unsigned long * 0x014afe40, unsigned long *
> 0x01530040, unsigned
> long * 0x015b0040) line 155 + 33 bytes
> search_candidates(slap_backend_db * 0x00f86c38, slap_op * 0x00f92130,
> slap_entry * 0x00f91e28, slap_filter * 0x00f91a48, int 1, int
> 0, unsigned
> long * 0x014afe40) line 1040 + 31 bytes
> bdb_search(slap_backend_db * 0x00f86c38, slap_conn *
> 0x00f8d348, slap_op *
> 0x00f92130, berval * 0x0152ff14, berval * 0x0152ff2c, int 1,
> int 0, int -1,
> int -1, slap_filter * 0x00f91a48, berval * 0x0152ff1c,
> slap_attr_name *
> 0x00000000, int 0) line 293 + 36 bytes
> do_search(slap_conn * 0x00f8d348, slap_op * 0x00f92130) line
> 317 + 60 bytes
> connection_operation(void * 0x00f917c8, void * 0x00f921f8)
> line 980 + 16
> bytes
> ldap_int_thread_pool_wrapper(void * 0x009f7c10) line 431 + 17 bytes
> _threadstartex(void * 0x00f91608) line 212 + 13 bytes
> KERNEL32! 77e8758a()
>
> -----Original Message-----
> From: owner-openldap-software@OpenLDAP.org
> [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Geert Van
> Muylem
> Sent: dinsdag 17 december 2002 20:39
> To: LDAP Mailing List (E-mail)
> Subject: OpenLDAP 2.1.8 on Win2000
>
>
> Hi all,
>
> I've build OpenLDAP on win 2000 with the following components:
> OpenLDAP: v2.1.8
> Transport Layer Security: OpenSSL v0.9.6g
> Simple Authentication And Security Layer: Cyrus SASL v1.5.24
> Database: Sleepycat Software BerkeleyDB v4.1.24
> RegEx: Henry Spencers REGEX Library
>
> Adding entries works fine, however executing the following
> search causes the
> server to crash...
> ldapsearch -x -b "c=be" -s one
>
> Anyone any idea?
>
> Thanks
> Geert
>
>
> slapd.conf
>
> include     C:\\DBGLDAP\\schema\\core.schema
> include     C:\\DBGLDAP\\schema\\cosine.schema
> include     C:\\DBGLDAP\\schema\\inetorgperson.schema
>
> # Define global ACLs to disable default read access.
>
> # Do not enable referrals until AFTER you have a working directory
> # service AND an understanding of referrals.
> # referral ldap://root.openldap.org
>
> pidfile       C:\\DBGLDAP\\schema\\slapd.pid
> argsfile     C:\\DBGLDAP\\schema\\slapd.args
>
> # Load dynamic backend modules:
>
> # modulepath	%MODULEDIR%
>
> ##############################################################
> #########
> # ldbm database definitions
> ##############################################################
> #########
>
> database		bdb
>
> suffix      "c=BE"
>
> rootdn      "cn=Manager, c=BE"
> rootpw      "123456"
>
> directory   C:\\DBGLDAP\\openldap-ldbm
>
> index	objectClass	eq
>
>
>