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

Re: SASL causes segmentation fault (ITS#3172)



At 09:03 AM 6/9/2004, quanah@stanford.edu wrote:
>There are two segfaults in this email.  What segfault I get, and where, 
>depends entirely on the order in which I start the replica's.  Whee!

It's not clear to me that this new segfault is related
to the vget_next segfault.  I suggest you open a new
ITS for this issue.  I note that this new backtrace
appears to be truncated.

Kurt

>This segfault caused by:
>
>Start master (ldap-dev0)
>Start replica1 (ldap-dev2)
>Start replica2 (ldap-dev3)
>
>
> Program received signal SIGSEGV, Segmentation fault.
>[Switching to Thread 5 (LWP 1)]
>0xff2ffb80 in sb_debug_write (sbiod=0x342390, buf=0x10c2d58, len=4657)
>    at sockbuf.c:846
>846     sockbuf.c: No such file or directory.
>        in sockbuf.c
>(gdb) bt
>#0  0xff2ffb80 in sb_debug_write (sbiod=0x342390, buf=0x10c2d58, len=4657)
>    at sockbuf.c:846
>#1  0xff2fea3c in ber_int_sb_write (sb=0x1d33d0, buf=0x10c2d58, len=4657)
>    at sockbuf.c:433
>#2  0xff2f8a7c in ber_flush (sb=0x1d33d0, ber=0x7c3410d8, freeit=0) at 
>io.c:243
>#3  0x0003e0e4 in send_ldap_ber (conn=0x1de500, ber=0x7c3410d8) at 
>result.c:176
>#4  0x0003ec98 in send_ldap_response (op=0xb56618, rs=0x7c401ad0)
>    at result.c:438
>#5  0x0003fffc in slap_send_ldap_intermediate (op=0xb56618, rs=0x7c401ad0)
>    at result.c:720
>#6  0x0009a310 in slap_send_syncinfo (op=0xb56618, rs=0x7c401ad0, type=163,
>    cookie=0x0, refreshDone=0, syncUUIDs=0xc56758, refreshDeletes=0)
>    at ldapsync.c:
>
>
> (gdb) info threads
>  8 Thread 4 (LWP 3)  0xfee1d394 in _poll () from /usr/lib/libc.so.1
>  7 Thread 3          0xfed4d9b8 in _reap_wait () from 
>/usr/lib/libthread.so.1
>  6 Thread 2 (LWP 2)  0xfee1eb58 in _signotifywait () from 
>/usr/lib/libc.so.1
>  5 LWP    2          0xfee1eb58 in _signotifywait () from 
>/usr/lib/libc.so.1
>  4 LWP    3          0xfee1d394 in _poll () from /usr/lib/libc.so.1
>* 3 Thread 5 (LWP 1)  0xff2ffb80 in sb_debug_write (sbiod=0x342390,
>    buf=0x10c2d58, len=4657) at sockbuf.c:846
>  2 Thread 1          0xfed4da10 in _reap_wait_cancel ()
>   from /usr/lib/libthread.so.1
>  1 LWP    1          0xff2ffb80 in sb_debug_write (sbiod=0x342390,
>    buf=0x10c2d58, len=4657) at sockbuf.c:846
>
>
>(gdb) thr apply all bt
>
>Thread 8 (Thread 4 (LWP 3)):
>#0  0xfee1d394 in _poll () from /usr/lib/libc.so.1
>#1  0xfedcd2d0 in select () from /usr/lib/libc.so.1
>#2  0xfed5aa30 in select () from /usr/lib/libthread.so.1
>#3  0xfed5aa30 in select () from /usr/lib/libthread.so.1
>Previous frame identical to this frame (corrupt stack?)
>0xff2ffb80      846     in sockbuf.c
>(gdb)
>
>--------------------------------------------------------------------------------------------------
>
>
>This segfault caused by:
>
>Start master (ldap-dev0)
>Start replica1 (ldap-dev3)
>Start replica2 (ldap-dev2)
>(gdb) continue
>Continuing.
>[New LWP    2        ]
>[New LWP    4        ]
>[New Thread 6 (LWP 4)]
>
>Program received signal SIGSEGV, Segmentation fault.
>[Switching to Thread 6 (LWP 4)]
>0xfec55aa8 in vget_next (context=0x33ea40, b=0x10, pointer=0x7b800f54, 
>type=0,
>    name=0xfec8ab18 "libdefaults", args=0x7b801120)
>    at ../../../lib/krb5/config_file.c:349
>349             if(strcmp(b->name, name) == 0) {
>
>
>
>(gdb) bt
>#0  0xfec55aa8 in vget_next (context=0x33ea40, b=0x10, pointer=0x7b800f54,
>    type=0, name=0xfec8ab18 "libdefaults", args=0x7b801120)
>    at ../../../lib/krb5/config_file.c:349
>#1  0xfec55c40 in krb5_config_vget_next (context=0x33ea40, c=0x10,
>    pointer=0x7b800f54, type=0, args=0x7b80111c)
>    at ../../../lib/krb5/config_file.c:384
>#2  0xfec55d8c in krb5_config_vget (context=0x33ea40, c=0x0, type=0,
>    args=0x7b801118) at ../../../lib/krb5/config_file.c:421
>#3  0xfec55e9c in krb5_config_vget_string (context=0x33ea40, c=0x0,
>    args=0x7b801118) at ../../../lib/krb5/config_file.c:465
>#4  0xfec562e4 in krb5_config_vget_bool_default (context=0x33ea40, c=0x0,
>    def_value=1, args=0x7b801118) at ../../../lib/krb5/config_file.c:575
>#5  0xfec5641c in krb5_config_get_bool_default (context=0x33ea40, c=0x0,
>    def_value=1) at ../../../lib/krb5/config_file.c:601
>#6  0xfec68058 in krb5_get_host_realm_int (context=0x33ea40,
>    host=0xbfb040 "ldap-dev0.stanford.edu", use_dns=1, realms=0x7b8013d4)
>    at ../../../lib/krb5/get_host_realm.c:161
>#7  0xfec683bc in krb5_get_host_realm (context=0x33ea40,
>    host=0xbfb040 "ldap-dev0.stanford.edu", realms=0x7b8013d4)
>    at ../../../lib/krb5/get_host_realm.c:219
>#8  0xfec6192c in krb5_expand_hostname_realms (context=0x33ea40,
>    orig_hostname=0xb5d7fd "ldap-dev0.stanford.edu", 
>new_hostname=0x7b8013d0,
>    realms=0x7b8013d4) at ../../../lib/krb5/expand_hostname.c:143
>#9  0xfec7b7fc in krb5_sname_to_principal (context=0x33ea40,
>    hostname=0xb5d7fd "ldap-dev0.stanford.edu", sname=0xb5d7f8 "ldap", 
>type=3,
>    ret_princ=0xf1e224) at ../../../lib/krb5/principal.c:1069
>#10 0xfecbbef0 in import_hostbased_name (minor_status=0x7b801774,
>    input_name_buffer=0x7b801790, output_name=0xf1e224)
>    at ../../../lib/gssapi/import_name.c:120
>#11 0xfecbc414 in gss_import_name (minor_status=0x7b801774,
>    input_name_buffer=0x7b801790, input_name_type=0xfecd4154,
>    output_name=0xf1e224) at ../../../lib/gssapi/import_name.c:211
>#12 0xfece20d4 in gssapi_server_mech_step ()
>   from /usr/local/lib/sasl2/libgssapiv2.so.2
>#13 0xff1df4ac in sasl_server_step () from /usr/local/lib/libsasl2.so.2
>#14 0xff1df190 in sasl_server_start () from /usr/local/lib/libsasl2.so.2
>#15 0x00088554 in slap_sasl_bind (op=0x11a70e8, rs=0x7b801ad0) at 
>sasl.c:1492
>#16 0x0004ec70 in do_bind (op=0x11a70e8, rs=0x7b801ad0) at bind.c:301
>#17 0x0002a120 in connection_operation (ctx=0x7b801ba0, arg_v=0x11a70e8)
>    at connection.c:1007
>#18 0xff33d6b8 in ldap_int_thread_pool_wrapper (xpool=0x16ad70) at 
>tpool.c:467
>#19 0xfed5b024 in _thread_start () from /usr/lib/libthread.so.1
>#20 0xfed5b024 in _thread_start () from /usr/lib/libthread.so.1
>Previous frame identical to this frame (corrupt stack?)
>
> thr apply all bt
>
>Thread 10 (Thread 5 (LWP 1)):
>#0  0xfee718bc in memset () from 
>/usr/platform/SUNW,Ultra-80/lib/libc_psr.so.1
>#1  0x00075d28 in slap_bv2ad (bv=0x7c341240, ad=0x7c341250, text=0x7c341254)
>    at ad.c:174
>#2  0x00039188 in entry_decode (bv=0x7c3412f0, e=0x7c3413f0) at entry.c:706
>#3  0x000d8d98 in bdb_id2entry (be=0x17a710, tid=0x0, id=22187, 
>e=0x7c3413f0)
>    at id2entry.c:119
>#4  0x000cddcc in bdb_cache_find_id (op=0x1f23e0, tid=0x0, id=22187,
>    eip=0x7c3416a0, islocked=0, locker=6, lock=0x7c341510) at cache.c:627
>#5  0x000aba1c in bdb_do_search (op=0x1f23e0, rs=0x7c401ad0, sop=0x1f23e0,
>    ps_e=0x0, ps_type=0) at search.c:888
>#6  0x000a90ec in bdb_search (op=0x1f23e0, rs=0x7c401ad0) at search.c:361
>#7  0x0002dbe0 in do_search (op=0x1f23e0, rs=0x7c401ad0) at search.c:400
>#8  0x0002a3c0 in connection_operation (ctx=0x7c401ba0, arg_v=0x1f23e0)
>    at connection.c:1042
>#9  0xff33d6b8 in ldap_int_thread_pool_wrapper (xpool=0x16ad70) at 
>tpool.c:467
>#10 0xfed5b024 in _thread_start () from /usr/lib/libthread.so.1
>#11 0xfed5b024 in _thread_start () from /usr/lib/libthread.so.1
>Previous frame identical to this frame (corrupt stack?)
>0xfec55aa8      349             if(strcmp(b->name, name) == 0) {
>
>
>(gdb) info threads
>  10 Thread 5 (LWP 1)  0xfee718bc in memset ()
>   from /usr/platform/SUNW,Ultra-80/lib/libc_psr.so.1
>  9 Thread 4 (LWP 3)  0xfee1d394 in _poll () from /usr/lib/libc.so.1
>  8 Thread 3          0xfed4d9b8 in _reap_wait () from 
>/usr/lib/libthread.so.1
>  7 Thread 2 (LWP 2)  0xfee1eb58 in _signotifywait () from 
>/usr/lib/libc.so.1
>  6 LWP    3          0xfee1d394 in _poll () from /usr/lib/libc.so.1
>* 5 Thread 6 (LWP 4)  0xfec55aa8 in vget_next (context=0x33ea40, b=0x10,
>    pointer=0x7b800f54, type=0, name=0xfec8ab18 "libdefaults", 
>args=0x7b801120)
>    at ../../../lib/krb5/config_file.c:349
>  4 LWP    4          0xfec55aa8 in vget_next (context=0x33ea40, b=0x10,
>    pointer=0x7b800f54, type=0, name=0xfec8ab18 "libdefaults", 
>args=0x7b801120)
>    at ../../../lib/krb5/config_file.c:349
>  3 LWP    2          0xfee1eb58 in _signotifywait () from 
>/usr/lib/libc.so.1
>  2 Thread 1          0xfed4da10 in _reap_wait_cancel ()
>   from /usr/lib/libthread.so.1
>  1 LWP    1          0xfee718bc in memset ()
>   from /usr/platform/SUNW,Ultra-80/lib/libc_psr.so.1
>
>--Quanah
>
>--
>Quanah Gibson-Mount
>Principal Software Developer
>ITSS/Shared Services
>Stanford University
>GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html