Okay, ran slapd using gdb, obtained a backtrace (using instructions from
http://www.openldap.org/faq/data/cache/59.html). If needed, I can also
send results from "thread apply all bt"
(gdb) run -d 0 -h "ldap:/// ldaps:///" -u ldap
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x4860e940 (LWP 20454)]
tcmalloc::CentralFreeList::FetchFromSpans (this=0x2b1cdb76c5e0)
at src/central_freelist.cc:249
249 src/central_freelist.cc: No such file or directory.
in src/central_freelist.cc
Current language: auto; currently c++
(gdb) bt full
#0 tcmalloc::CentralFreeList::FetchFromSpans (this=0x2b1cdb76c5e0)
at src/central_freelist.cc:249
span = (tcmalloc::Span *) 0x37efaaf0
result = (void *) 0x6f433d6e632c3230
#1 0x00002b1cdb551939 in tcmalloc::CentralFreeList::FetchFromSpansSafe (
this=0x2b1cdb76c5e0) at src/central_freelist.cc:234
t = <value optimized out>
#2 0x00002b1cdb5519d9 in tcmalloc::CentralFreeList::RemoveRange (
this=0x2b1cdb76c5e0, start=0x4860d840, end=0x4860d838,
N=<value optimized out>) at src/central_freelist.cc:214
result = 0
head = (void *) 0x0
tail = <value optimized out>
#3 0x00002b1cdb554ce4 in tcmalloc::ThreadCache::FetchFromCentralCache (
this=0x61ba168, cl=<value optimized out>, byte_size=256)
at src/thread_cache.cc:149
list = (tcmalloc::ThreadCache::FreeList *) 0x61ba328
batch_size = 32
start = <value optimized out>
end = <value optimized out>
fetch_count = <value optimized out>
#4 0x00002b1cdb5590b6 in tc_malloc (size=244) at src/thread_cache.h:340
result = <value optimized out>
#5 0x00002b1cdd4fc0c2 in CRYPTO_malloc ()
from /opt/openssl/lib/libcrypto.so.0.9.8
No symbol table info available.
#6 0x00002b1cdd55d1a3 in EVP_CipherInit_ex ()
from /opt/openssl/lib/libcrypto.so.0.9.8
No symbol table info available.
#7 0x00002b1cdd272192 in tls1_change_cipher_state ()
from /opt/openssl/lib/libssl.so.0.9.8
No symbol table info available.
#8 0x00002b1cdd264a91 in ssl3_accept () from
/opt/openssl/lib/libssl.so.0.9.8
No symbol table info available.
#9 0x00002b1cdb7cc21e in tlso_session_accept (sess=0x37287e00) at
tls_o.c:376
s = (tlso_session *) 0x37287e00
#10 0x00002b1cdb7c9edc in ldap_pvt_tls_accept (sb=0x25e5c7e0,
ctx_arg=0x65c3e00) at tls2.c:429
err = -2
ssl = (tls_session *) 0x37287e00
#11 0x000000000043a8c2 in connection_read (s=70, cri=0x4860dd10)
at connection.c:1326
rc = 0
c = (Connection *) 0x6658080
__PRETTY_FUNCTION__ = "connection_read"
#12 0x000000000043a47e in connection_read_thread (ctx=0x4860dd70, argv=0x46)
at connection.c:1238
rc = 102813704
cri = {op = 0x0, func = 0, arg = 0x0, ctx = 0x4860dd70, nullop = 0}
s = 70
#13 0x00002b1cdb797cc3 in ldap_int_thread_pool_wrapper (xpool=0x620d000)
at tpool.c:685
pool = (struct ldap_int_thread_pool_s *) 0x620d000
task = (ldap_int_thread_task_t *) 0x9fcbd60
work_list = (ldap_int_tpool_plist_t *) 0x620d098
ctx = {ltu_id = 1214310720, ltu_key = {{ltk_key = 0x439b17,
ltk_data = 0x2c728e00, ltk_free = 0x43997a <conn_counter_destroy>}, {
ltk_key = 0x4a9316, ltk_data = 0x1fbd71c0,
ltk_free = 0x4a9110 <slap_sl_mem_destroy>}, {ltk_key = 0x65d3800,
ltk_data = 0x2c854480, ltk_free = 0x518a54 <bdb_reader_free>}, {
ltk_key = 0x4ea875, ltk_data = 0x2ca5b000,
ltk_free = 0x4ea855 <search_stack_free>}, {ltk_key = 0x4544a4,
ltk_data = 0x65b8000, ltk_free = 0x454400 <slap_op_q_destroy>}, {
ltk_key = 0x0, ltk_data = 0x31fa0000, ltk_free = 0}, {ltk_key = 0x0,
ltk_data = 0x0, ltk_free = 0} <repeats 26 times>}}
kctx = (ldap_int_thread_userctx_t *) 0x0
i = 32
keyslot = 81
hash = 1878162513
pool = (struct ldap_int_thread_pool_s *) 0x620d000
task = (ldap_int_thread_task_t *) 0x9fcbd60
work_list = (ldap_int_tpool_plist_t *) 0x620d098
ctx = {ltu_id = 1214310720, ltu_key = {{ltk_key = 0x439b17,
ltk_data = 0x2c728e00, ltk_free = 0x43997a <conn_counter_destroy>}, {
ltk_key = 0x4a9316, ltk_data = 0x1fbd71c0,
ltk_free = 0x4a9110 <slap_sl_mem_destroy>}, {ltk_key = 0x65d3800,
ltk_data = 0x2c854480, ltk_free = 0x518a54 <bdb_reader_free>}, {
ltk_key = 0x4ea875, ltk_data = 0x2ca5b000,
ltk_free = 0x4ea855 <search_stack_free>}, {ltk_key = 0x4544a4,
ltk_data = 0x65b8000, ltk_free = 0x454400 <slap_op_q_destroy>}, {
ltk_key = 0x0, ltk_data = 0x31fa0000, ltk_free = 0}, {ltk_key = 0x0,
ltk_data = 0x0, ltk_free = 0} <repeats 26 times>}}
kctx = (ldap_int_thread_userctx_t *) 0x0
i = 32
keyslot = 81
hash = 1878162513
__PRETTY_FUNCTION__ = "ldap_int_thread_pool_wrapper"
#14 0x0000003e65406617 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#15 0x0000003e64cd3c2d in clone () from /lib64/libc.so.6
No symbol table info available.
Quanah Gibson-Mount escribio':
--On Monday, February 08, 2010 11:05 AM -0600 "Bryan J.
Maupin"
<bmaupin(a)uta.edu> wrote:
> Make sure your OpenLDAP build, etc, has debugging symbols.
>
>
> I've never done this, so just to be sure, to do this I need to pass
> CFLAGS="-g -O0" when running configure, then make install
STRIP="" when
> it's time for that step, correct?
>
Correct
> Then, I simply "gdb /path/to/slapd [options] /path/to/slapd.core"?
>
Correct
> Lastly, do I need to change the slapd log level at all, or will all of
> the helpful information be in the core file?
>
For now, loglevel is likely unimportant. The core file has all the
information necessary.
--Quanah
--
Quanah Gibson-Mount
Principal Software Engineer
Zimbra, Inc
--------------------
Zimbra :: the leader in open source messaging and collaboration