[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: SASL causes segmentation fault (ITS#3172)
--On Tuesday, June 08, 2004 11:05 PM -0700 "Kurt D. Zeilenga"
<Kurt@OpenLDAP.org> wrote:
> At 10:17 PM 6/8/2004, quanah@stanford.edu wrote:
>> So I'd say having an 8MB thread stack doesn't help the situation at
>> all...
>
> Well, at least now we have what appears to be a complete
> stack backtrace. It is certainly down deep in Kerberos...
> not sure what to suggest except to make sure running
> against the latest... and build the libraries with
> debugging symbols so that precise failure point can
> be determined. As it stands now, I cannot see anything
> in OpenLDAP Software that would cause this.
Today's segfaults brought to you by the letter Q...
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!
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