Originally posted by: SystemAdmin
Hello,
When the number of connection raises (performing read operations), slapd
crashes saying
ch_malloc of 8388608 bytes failed
Assertion failed: __EX, file ch_malloc.c, line 62
IOT/Abort trap(coredump)
This happens on AIX 5.3 ML 3 (on AIX 5.2, too)
With openldap 2.3.20, 2.3.21 or 2.2.30
Using BerkeleyDB 4.3 or 4.4
This is one of many tries how it is compiled (using gcc 3.3.2):
env CC="gcc -D_LINUX_SOURCE_COMPAT -D_THREAD_SAFE" \
CPPFLAGS="-I/stage/libs/include -I/stage/libs/BerkeleyDB.4.4/include \
LDFLAGS="-L/stage/libs/lib -L/stage/libs/ssl/lib
-L/stage/libs/BerkeleyDB.4.4/lib -lpthread" \
./configure --enable-dynamic \
--enable-bdb --enable-crypt --enable-slapd --enable-slurpd \
--with-tls=openssl --enable-rlookups \
--with-threads=posix --prefix=/stage/libs \
--enable-shared=no --enable-static=yes
make depend
make
make install
Make test is succesful.
The problem occurs when there the amount of connections (triggered by
java programs) has risen high within a short time (about 200 connections
in 1 minute).
The problem does not occur on Linux.
Does someone perhaps have any clue what might be wrong here?
At the bottom I attach a bit more of the log.
Thanks you in advance and best regards,
Andreas
ber_flush: 14 bytes to sd 14
connection_get(14): got connid=163
connection_read(14): checking for input on id=163
ber_get_next
ber_get_next: tag 0x30 len 81 contents:
ber_get_next
ber_get_next on fd 14 failed errno=11 (Resource temporarily unavailable)
do_search
ber_scanf fmt ({miiiib) ber:
>>> dnPrettyNormal: <o=company,c=com>
=> ldap_bv2dn(o=company,c=com,0)
ldap_err2string
<= ldap_bv2dn(o=company,c=com)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(o=company,c=com)=0 Success
=> ldap_dn2bv(272)
ldap_err2string
<= ldap_dn2bv(o=company,c=com)=0 Success
<<< dnPrettyNormal: <o=company,c=com>, <o=company,c=com>
ber_scanf fmt ({mm}) ber:
ber_scanf fmt ({M}}) ber:
=> get_ctrls
ber_scanf fmt ({m) ber:
=> get_ctrls: oid="2.16.840.1.113730.3.4.2" (noncritical)
<= get_ctrls: n=1 rc=0 err=""
=> bdb_search
bdb_dn2entry("o=company,c=com")
search_candidates: base="o=company,c=com" (0x00000001) scope=2
ch_malloc of 8388608 bytes failed
Assertion failed: __EX, file ch_malloc.c, line 62
IOT/Abort trap(coredump)
#AIX-Forum