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

Re: slapd dying, what next?



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 escribió:
--On Monday, February 08, 2010 11:05 AM -0600 "Bryan J. Maupin" 
<bmaupin@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