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

(ITS#5254) core dump on Solaris 9 when with threads



Full_Name: Gary Mills
Version: openldap-2.3.38
OS: Solaris 9 SPARC
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (24.78.105.29)


Here's how openldap-2.3.38 was built:

PATH=/opt/SUNWspro/bin:/usr/bin:/usr/ccs/bin:/usr/sbin; export PATH

env CC=cc \
        INSTALL=/usr/ucb/install \
        CPPFLAGS="-I/usr/local/src/db/db-3.1.17/build_unix
-I/usr/local/src/OpenSSL/openssl-0.9.8f/include" \
        LDFLAGS="-R/usr/local/lib -L/usr/local/src/db/db-3.1.17/build_unix
-L/usr/local/src/OpenSSL/openssl-0.9.8f/lib" \
        ./configure \
        --disable-proctitle \
        --enable-crypt \
        --disable-bdb \
        --disable-hdb \
        --enable-ldbm \
        --enable-perl

In simple tests with an ldbm database, it works correctly.  With many clients,
it
dump core hundreds of times a day.  The dumps vary, but suggest a memory
management
problem.  Here are two:

# mdb /usr/local/libexec/slapd /var/core/core.slapd.3610
Loading modules: [ libc.so.1 libthread.so.1 ld.so.1 ]
> ::status
debugging core file of slapd (32-bit) from electra
executable file: /opt/local/libexec/slapd
initial argv: slapd
threading model: multi-threaded
status: process terminated by SIGSEGV (Segmentation Fault)
> ::stack
is_ad_subtype+0x4c(30000, 3b0120, 33abb0, 33a698, 181ae30, 15949a4)
attrs_find+0x2c(181b458, 3b0120, 33a698, 400, 181ae30, 15949a4)
0x8cba4(3d0e08, 17d4e80, 15949c4, 3bd000, 0, fdbff725)
test_filter+0x388(3d0e08, 17d4e80, 15949c4, 14baa8, ffffffe0, fdbff8b1)
0x8c808(3d0e08, 17d4e80, 15949c4, 7, ffffffe0, fdbff8f1)
test_filter+0x784(3d0e08, 17d4e80, 15949d4, 2, 0, 0)
ldbm_back_search+0x12d0(3d0e08, fdbffd50, 0, fdbff2a4, 0, fdbff9fd)
fe_op_search+0x594(3d0e08, fdbffd50, 3d0efc, fdbffab0, 0, 0)
do_search+0xf54(3d0e08, fdbffd50, fdbffd40, 0, 0, 0)
0x5bbf8(fdbffe14, 3d0e08, 0, 0, 0, 0)
0x153f5c(3aacb8, 0, 0, 0, 0, 0)
libthread.so.1`_lwp_start(0, 0, 0, 0, 0, 0)

# mdb /usr/local/libexec/slapd /var/core/core.slapd.25318
Loading modules: [ libc.so.1 libthread.so.1 ld.so.1 ]
> ::status
debugging core file of slapd (32-bit) from electra
executable file: /opt/local/libexec/slapd
initial argv: slapd
threading model: multi-threaded
status: process terminated by SIGSEGV (Segmentation Fault)
> ::stack
str2entry2+0xfec(40c010, 0, 2ee1bc, 7, ffffffe0, fe3ff8f1)
id2entry_rw+0x484(3d0820, 1da9, 0, 2, 0, 0)
ldbm_back_search+0xa14(3d0e08, fe3ffd50, 0, fe3ff2a4, 81010100, ff00)
fe_op_search+0x594(3d0e08, fe3ffd50, 3d0efc, 14388f4, fe3ffab0, 1438e4c)
do_search+0xf54(3d0e08, fe3ffd50, fe3ffd40, 0, 0, 0)
0x5bbf8(fe3ffe14, 3d0e08, 0, 0, 0, 0)
0x153f5c(3aacb8, 0, 0, 0, 0, 0)
libthread.so.1`_lwp_start(0, 0, 0, 0, 0, 0)