Patrick Kaufmann schrieb am 06.04.2009 14:13

Hi,

 

We experience some serious problems with our openldap.

We got about 50 databases in our openldap. If I now request single databases everything works fine until I request the 30st database.

From there on every database which I haven’t already requested will just return an internal error.

After some further investigation I finally figured out that the bdb backend somehow has some problems.

If I start the sldap with d -1 I get following error:

bdb_locker_id: Not enough space(12)

 

We use openLDAP 2.3 together with DBD 4.2.52

 

Whole error message:

daemon: activity on 1 descriptor

daemon: activity on: 4052r

daemon: read activity on 4052

daemon: select: listen=1912 active_threads=0 tvp=NULL

connection_get(4052)

connection_get(4052): got connid=0

connection_read(4052): checking for input on id=0

ber_get_next

ldap_read: want=8, got=8

  0000:  30 35 02 01 6e 63 30 04                            05..nc0.         

ldap_read: want=47, got=47

  0000:  0f 6f 3d 74 65 73 74 2e  6d 61 69 6c 34 2e 63 68   .o=test.domain 

  0010:  0a 01 00 0a 01 00 02 02  03 e8 02 01 1e 01 01 00   ................ 

  0020:  87 0b 6f 62 6a 65 63 74  63 6c 61 73 73 30 00      ..objectclass0.  

ber_get_next: tag 0x30 len 53 contents:

ber_dump: buf=086F29D8 ptr=086F29D8 end=086F2A0D len=53

  0000:  02 01 6e 63 30 04 0f 6f  3d 74 65 73 74 2e 6d 61   ..nc0..o=test.ma 

  0010:  69 6c 34 2e 63 68 0a 01  00 0a 01 00 02 02 03 e8   il4.ch.......... 

  0020:  02 01 1e 01 01 00 87 0b  6f 62 6a 65 63 74 63 6c   ........objectcl 

  0030:  61 73 73 30 00                                     ass0.            

ber_get_next

ldap_read: want=8 error=Unknown error

daemon: activity on 1 descriptor

daemon: waked

daemon: select: listen=1912 active_threads=0 tvp=NULL

do_search

ber_scanf fmt ({miiiib) ber:

ber_dump: buf=086F29D8 ptr=086F29DB end=086F2A0D len=50

  0000:  63 30 04 0f 6f 3d 74 65  73 74 2e 6d 61 69 6c 34   c0..o=test.mail4 

  0010:  2e 63 68 0a 01 00 0a 01  00 02 02 03 e8 02 01 1e   .ch............. 

  0020:  01 01 00 87 0b 6f 62 6a  65 63 74 63 6c 61 73 73   .....objectclass 

  0030:  30 00                                              0.               

>>> dnPrettyNormal: <o=test.domain>

=> ldap_bv2dn(o=test.domain,0)

<= ldap_bv2dn(o=test.domain)=0

=> ldap_dn2bv(272)

<= ldap_dn2bv(o=test.domain)=0

=> ldap_dn2bv(272)

<= ldap_dn2bv(o=test.domain)=0

<<< dnPrettyNormal: <o=test.domain>, <o=test.domain>

SRCH "o=test.domain" 0 0    1000 30 0

begin get_filter

PRESENT

ber_scanf fmt (m) ber:

ber_dump: buf=086F29D8 ptr=086F29FE end=086F2A0D len=15

  0000:  87 0b 6f 62 6a 65 63 74  63 6c 61 73 73 30 00      ..objectclass0.  

end get_filter 0

    filter: (objectClass=*)

ber_scanf fmt ({M}}) ber:

ber_dump: buf=086F29D8 ptr=086F2A0B end=086F2A0D len=2

  0000:  00 00                                              ..               

    attrs:

conn=0 op=109 SRCH base="o=test.domain" scope=0 deref=0 filter="(objectClass=*)"

==> limits_get: conn=0 op=109 dn="[anonymous]"

=> bdb_search

bdb_locker_id: err Not enough space(12)

send_ldap_result: conn=0 op=109 p=3

send_ldap_result: err=80 matched="" text="internal error"

send_ldap_response: msgid=110 tag=101 err=80

ber_flush: 28 bytes to sd 4052

  0000:  30 1a 02 01 6e 65 15 0a  01 50 04 00 04 0e 69 6e   0...ne...P....in 

  0010:  74 65 72 6e 61 6c 20 65  72 72 6f 72               ternal error     

ldap_write: want=28, written=28

  0000:  30 1a 02 01 6e 65 15 0a  01 50 04 00 04 0e 69 6e   0...ne...P....in 

  0010:  74 65 72 6e 61 6c 20 65  72 72 6f 72               ternal error     

conn=0 op=109 SEARCH RESULT tag=101 err=80 nentries=0 text=internal error

 

Any help is appreciated.

 

Thanks

Patrick


    Patrick Kaufmann
Softwareentwicklung
 
Hauptsitz:
Hardstrasse 72
CH - 5430 Wettingen
Tel. +41 56 437 80 40
Fax + 41 56 437 80 59
pkaufmann@zubler.ch
www.zubler.ch