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

2.1.X with BDB backend on AIX



Hi,

First off, I'm not sure whether i should post this to -bugs, or even to 
-devel, so I just start a discussion on -software. Take it to a more 
appropriate List, if you feel you have to. :o)

I've got some troubles running OpenLDAP 2.1.X on a PowerPC 630 (IBM, 
Dual 64Bit PowerPC) with AIX 4.3.3 (ML 9).
I compiled BDB 4.0.14 an OpenLDAP 2.1.4 with cc_r, threading enabled. 
I'm using the BDB backend, populated with 10k "person" entries.

As a test, I've a Perl Skript running on two different Boxes, which 
sends (serial) requests to slapd, querying all the person entries, one 
after the other. After several thousand requests slapd starts 
allocating additional memory very fast, until it reaches the 
Systemlimit (Which is at 256MB at the moment.) and dumps core.

In gdb I just get:
(gdb) run -d 0
Starting program: /src/ldap/openldap/2.1.4/libexec/slapd -d 0
Assertion failed: 0, file  ch_malloc.c, line 38

Program received signal SIGABRT, Aborted.
0xd0014c38 in pthread_kill ()
(gdb) bt
#0  0xd0014c38 in pthread_kill ()
#1  0xffffffff in ?? () from (unknown load module)

Well, I think this tells me, that the malloc failed, but this doesn't 
help me with my real problem.. I'm not sure where to go from here now, 
maybe someone can give me some advice..


I tried to verify whether the problem is back_bdb related, or whether 
this also happens with back_ldbm, but back_ldbm didn't compile:

cc_r -I/src/ldap/berkeley/bdb-4.0.14-cc_r/include -I../../../include
  -I../../../include -I.. -I./..
  -I/src/ldap/berkeley/bdb-4.0.14-cc_r/include -c extended.c
  -o extended.o
"../slap.h", line 1511.18: 1506-112 (W) Duplicate type qualifier
  "volatile" ignored.
"extended.c", line 28.1: 1506-343 (S) Redeclaration of
  ldbm_back_extended differs from previous declaration on line 24 of
  "external.h".
"extended.c", line 28.1: 1506-377 (I) The type "unsigned char**" of
  parameter 9 differs from the previous type "const unsigned char**".
"extended.c", line 49.33: 1506-280 (W) Function argument assignment
  between types "const unsigned char**" and "unsigned char**" is not
  allowed.

Well, I don't know _why_ this happens, back-bdb has quite the same piece 
of code in its back-bdb/extended.c, and that one works. Also the 
definition of BI_op_extended in slap.h seems to match 
back-ldbm/extended.c.

I didn't check with the latest CVS snapshot, but i'll try that tomorrow, 
I think. (Unless you tell me that won't do any good, and i shouldn't.)


Btw: back-ldbm still has "giant_rwlock", so I better should stick to 
back-bdb, right?


lg,
daniel
-- 
Top 10 Things to say, when you run out of good arguments:
No 2)  You used to program in Pascal, didn't you?