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

Re: (ITS#6798) Mutex starvation on two-level referral for SASL connection



 	Hi

   Here's some information that Stephen asked would be of use. There is 
one forest, one domain, but three sites in the layout. The functional 
level of the forest and the domain is W2008, but the servers have 2008R2.

And the full backtrace of the hung process:

#0  __lll_lock_wait () at 
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
No locals.
#1  0x00007f8f63ec05d9 in _L_lock_953 () from /lib/libpthread.so.0
No symbol table info available.
#2  0x00007f8f63ec03fb in __pthread_mutex_lock (mutex=0x7f8f6553fc80)
     at pthread_mutex_lock.c:61
         ignore1 = <value optimized out>
         ignore2 = 1700002944
         ignore3 = -512
         __PRETTY_FUNCTION__ = "__pthread_mutex_lock"
         type = <value optimized out>
#3  0x00007f8f652f3bcb in ldap_pvt_thread_mutex_lock 
(mutex=0x7f8f6553fc80)
     at /tmp/buildd/openldap-2.4.23/libraries/libldap_r/thr_posix.c:296
No locals.
#4  0x00007f8f653010bf in ldap_sasl_interactive_bind_s (ld=0x2117c20, 
dn=0x0,
     mechs=0x210d530 "GSSAPI", serverControls=0x0, clientControls=0x0, 
flags=2,
     interact=0x7f8f61405120 <sdap_sasl_interact>, defaults=0x2124a50) at 
sasl.c:426
         rc = -1921681294
         smechs = 0x0
#5  0x00007f8f6140888d in sdap_rebind_proc (ldap=0x2117c20,
     url=0x2125a00 
"ldap://DomainDnsZones.domain.com/DC=DomainDnsZones,DC=domain,DC=com";, 
request=<value optimized out>, msgid=<value optimized out>, params=<value 
optimized out>)
     at src/providers/ldap/sdap_async_connection.c:1637
         p = <value optimized out>
         sasl_mech = <value optimized out>
         user_dn = <value optimized out>
         password = {bv_len = 0, bv_val = 0x0}
         ctrls = {0x0, 0x0}
         tmp_ctx = <value optimized out>
         ret = <value optimized out>
         __FUNCTION__ = "sdap_rebind_proc"
#6  0x00007f8f65310a46 in ldap_new_connection (ld=0x2117c20, 
srvlist=0x7fffdebf22f8,
     use_ldsb=0, connect=1, bind=0x7fffdebf22b0) at request.c:518
         srvfunc = 0x2122da0
         err = 0
         savedefconn = 0x21208d0
         lc = 0x21227c0
         async = 0
         __PRETTY_FUNCTION__ = "ldap_new_connection"
#7  0x00007f8f6530fdf0 in ldap_send_server_request (ld=0x2117c20, 
ber=0x2122760, msgid=8,
     parentreq=0x21304f0, srvlist=0x7fffdebf22f8, lc=0x0, 
bind=0x7fffdebf22b0) at request.c:211
         lr = 0x63
         incparent = 1
         rc = 1697594315
#8  0x00007f8f653125dc in ldap_chase_v3referrals (ld=0x2117c20, 
lr=0x21304f0, refs=0x0,
     sref=1, errstrp=0x2130520, hadrefp=0x7fffdebf24f8) at request.c:1211
         unfollowed = 0x0
         unfollowedcnt = 0
         origreq = 0x21304f0
         srv = 0x2125a60
         ber = 0x2122760
         refarray = 0x2122720
         lc = 0x0
         rc = 0
         count = 0
         i = 0
         j = 0
         id = 8
         rinfo = {ri_msgid = 5, ri_request = 99,
           ri_url = 0x2125a00 
"ldap://DomainDnsZones.domain.com/DC=DomainDnsZones,DC=domain,DC=com"}
#9  0x00007f8f652f6165 in try_read1msg (ld=0x2117c20, msgid=7, all=1, 
lc=0x2117760,
     result=0x7fffdebf26b0) at result.c:708
         refs = 0x2122720
         ber = 0x212e910
         newmsg = 0x2117c20
         l = 0x2124140
         prev = 0x7debf25e0
         id = 5
         idx = 0
         tag = 115
         len = 76
         foundit = 0
         lr = 0x21304f0
         tmplr = 0x7f8f6531039d
         dummy_lr = {lr_msgid = 0, lr_status = 0, lr_refcnt = 0, 
lr_outrefcnt = 0,
           lr_abandoned = 0, lr_origid = 0, lr_parentcnt = 0, 
lr_res_msgtype = 0,
           lr_res_errno = 0, lr_res_error = 0x0, lr_res_matched = 0x0, 
lr_ber = 0x0,
           lr_conn = 0x0, lr_dn = {bv_len = 0, bv_val = 0x0}, lr_parent = 
0x0, lr_child = 0x0,
           lr_refnext = 0x0, lr_prev = 0x0, lr_next = 0x0}
         tmpber = {ber_opts = {lbo_valid = 2, lbo_options = 1, lbo_debug = 
0}, ber_tag = 0,
           ber_len = 85, ber_usertag = 0, ber_buf = 0x2131cd0 
"\002\001\005s\204",
           ber_ptr = 0x2131d25 "", ber_end = 0x2131d25 "", ber_sos_ptr = 
0x0, ber_rwptr = 0x0,
           ber_memctx = 0x0}
         rc = -2
         refer_cnt = 0
         hadref = 0
         simple_request = 0
         err = 1
         lderr = 0
         tmp = 0x0
         chain_head = 0x0
         moremsgs = 0
         isv2 = 0
         __PRETTY_FUNCTION__ = "try_read1msg"
#10 0x00007f8f652f571b in wait4msg (ld=0x2117c20, msgid=7, all=1, 
timeout=0x7fffdebf25b0,
     result=0x7fffdebf26b0) at result.c:390
         lnext = 0x2117760
         lc_ready = 1
         rc = -2
         tv = {tv_sec = 6, tv_usec = 0}
         tv0 = {tv_sec = 6, tv_usec = 0}
         start_time_tv = {tv_sec = 1295533580, tv_usec = 63738}
         tvp = 0x7fffdebf25b0
         lc = 0x2117760
         __PRETTY_FUNCTION__ = "wait4msg"
#11 0x00007f8f652f4ddf in ldap_result (ld=0x2117c20, msgid=7, all=1, 
timeout=0x0,
     result=0x7fffdebf26b0) at result.c:120
         rc = 1227
         __PRETTY_FUNCTION__ = "ldap_result"
#12 0x00007f8f65300a06 in ldap_sasl_bind_s (ld=0x2117c20, dn=0x0,
     mechanism=0x7f8f5ffe894c "GSSAPI", cred=0x7fffdebf2740, sctrls=0x0, 
cctrls=0x0,
     servercredp=0x7fffdebf2758) at sasl.c:194
         rc = 0
         msgid = 7
         result = 0x0
         scredp = 0x0
#13 0x00007f8f652fce5b in ldap_int_sasl_bind (ld=0x2117c20, dn=0x0, 
mechs=0x210d530 "GSSAPI",
     sctrls=0x0, cctrls=0x0, flags=2, interact=0x7f8f61405120 
<sdap_sasl_interact>,
     defaults=0x21170b0) at cyrus.c:535
         scred = 0x0
         credlen = 32767
         data = 0x8d757872de362e00 <Address 0x8d757872de362e00 out of 
bounds>
         mech = 0x7f8f5ffe894c "GSSAPI"
         pmech = 0x7f8f5ffe894c "GSSAPI"
         saslrc = 1
         rc = 0
         ssf = 0x0
         ctx = 0x2127380
         oldctx = 0x0
         prompts = 0x0
         credlen = 1202
         ccred = {bv_len = 1202,
           bv_val = 0x2125540 
"`\202\004\256\006\t*\206H\206\367\022\001\002\002\001"}
         sd = 23
         ssl = 0x0
#14 0x00007f8f6530120f in ldap_sasl_interactive_bind_s (ld=0x2117c20, 
dn=0x0,
     mechs=0x210d530 "GSSAPI", serverControls=0x0, clientControls=0x0, 
flags=2,
     interact=0x7f8f61405120 <sdap_sasl_interact>, defaults=0x21170b0) at 
sasl.c:464
         rc = -1921681294
         smechs = 0x0
#15 0x00007f8f6140888d in sdap_rebind_proc (ldap=0x2117c20,
     url=0x2126270 
"ldap://ForestDnsZones.domain.com/DC=ForestDnsZones,DC=domain,DC=com";, 
request=<value optimized out>, msgid=<value optimized out>, params=<value 
optimized out>)
     at src/providers/ldap/sdap_async_connection.c:1637
         p = <value optimized out>
         sasl_mech = <value optimized out>
         user_dn = <value optimized out>
         password = {bv_len = 0, bv_val = 0x0}
         ctrls = {0x0, 0x0}
         tmp_ctx = <value optimized out>
         ret = <value optimized out>
         __FUNCTION__ = "sdap_rebind_proc"
#16 0x00007f8f65310a46 in ldap_new_connection (ld=0x2117c20, 
srvlist=0x7fffdebf2bd8,
     use_ldsb=0, connect=1, bind=0x7fffdebf2b90) at request.c:518
         srvfunc = 0x2122190
         err = 0
         savedefconn = 0x2117760
         lc = 0x21208d0
         async = 0
         __PRETTY_FUNCTION__ = "ldap_new_connection"
#17 0x00007f8f6530fdf0 in ldap_send_server_request (ld=0x2117c20, 
ber=0x21206e0, msgid=6,
     parentreq=0x21304f0, srvlist=0x7fffdebf2bd8, lc=0x0, 
bind=0x7fffdebf2b90) at request.c:211
         lr = 0x63
         incparent = 1
         rc = 1697594315
#18 0x00007f8f653125dc in ldap_chase_v3referrals (ld=0x2117c20, 
lr=0x21304f0, refs=0x0,
     sref=1, errstrp=0x2130520, hadrefp=0x7fffdebf2dd8) at request.c:1211
         unfollowed = 0x0
         unfollowedcnt = 0
         origreq = 0x21304f0
         srv = 0x2116b40
         ber = 0x21206e0
         refarray = 0x212b470
         lc = 0x0
         rc = 0
         count = 0
         i = 0
         j = 0
         id = 6
         rinfo = {ri_msgid = 5, ri_request = 99,
           ri_url = 0x2126270 
"ldap://ForestDnsZones.domain.com/DC=ForestDnsZones,DC=domain,DC=com"}
#19 0x00007f8f652f6165 in try_read1msg (ld=0x2117c20, msgid=-1, all=0, 
lc=0x2117760,
     result=0x7fffdebf2f68) at result.c:708
         refs = 0x212b470
         ber = 0x2122580
         newmsg = 0x7f8f674287b8
         l = 0x7fffdebf2ef0
         prev = 0x7f8f67460cd8
         id = 5
         idx = 0
         tag = 115
         len = 76
         foundit = 0
         lr = 0x21304f0
         tmplr = 0x100000000
         dummy_lr = {lr_msgid = 0, lr_status = 0, lr_refcnt = 0, 
lr_outrefcnt = 0,
           lr_abandoned = 0, lr_origid = 0, lr_parentcnt = 0, 
lr_res_msgtype = 0,
           lr_res_errno = 0, lr_res_error = 0x0, lr_res_matched = 0x0, 
lr_ber = 0x0,
           lr_conn = 0x0, lr_dn = {bv_len = 0, bv_val = 0x0}, lr_parent = 
0x0, lr_child = 0x0,
           lr_refnext = 0x0, lr_prev = 0x0, lr_next = 0x0}
         tmpber = {ber_opts = {lbo_valid = 2, lbo_options = 1, lbo_debug = 
0}, ber_tag = 0,
           ber_len = 85, ber_usertag = 0, ber_buf = 0x2125410 
"\002\001\005s\204",
           ber_ptr = 0x2125465 "", ber_end = 0x2125465 "", ber_sos_ptr = 
0x0, ber_rwptr = 0x0,
           ber_memctx = 0x0}
         rc = -2
         refer_cnt = 0
         hadref = 0
         simple_request = 0
         err = 0
         lderr = 32655
         tmp = 0x0
         chain_head = 0x0
         moremsgs = 0
         isv2 = 0
         __PRETTY_FUNCTION__ = "try_read1msg"
#20 0x00007f8f652f571b in wait4msg (ld=0x2117c20, msgid=-1, all=0, 
timeout=0x7fffdebf2f50,
     result=0x7fffdebf2f68) at result.c:390
         lnext = 0x7f8f6742f000
         lc_ready = 1
         rc = -2
         tv = {tv_sec = 0, tv_usec = 0}
         tv0 = {tv_sec = 0, tv_usec = 0}
         start_time_tv = {tv_sec = 1295533580, tv_usec = 60251}
         tvp = 0x7fffdebf2e90
         lc = 0x2117760
         __PRETTY_FUNCTION__ = "wait4msg"
#21 0x00007f8f652f4ddf in ldap_result (ld=0x2117c20, msgid=-1, all=0, 
timeout=0x7fffdebf2f50,
     result=0x7fffdebf2f68) at result.c:120
         rc = 32655
         __PRETTY_FUNCTION__ = "ldap_result"
#22 0x00007f8f613f7cb4 in sdap_process_result (ev=0x20f11f0, pvt=<value 
optimized out>)
     at src/providers/ldap/sdap_async.c:178
         sh = 0x21176f0
         no_timeout = {tv_sec = 0, tv_usec = 0}
         te = <value optimized out>
         msg = <value optimized out>
         ret = <value optimized out>
         __FUNCTION__ = "sdap_process_result"
#23 0x00007f8f66e3077e in ?? () from /usr/lib/libtevent.so.0
No symbol table info available.
#24 0x00007f8f66e2d9f0 in _tevent_loop_once () from 
/usr/lib/libtevent.so.0
No symbol table info available.
#25 0x00007f8f66e2da5b in ?? () from /usr/lib/libtevent.so.0
No symbol table info available.
#26 0x0000000000431e51 in server_loop (main_ctx=0x20f2360) at 
src/util/server.c:526
No locals.
#27 0x000000000040f8bb in main (argc=5, argv=<value optimized out>)
     at src/providers/data_provider_be.c:1333
         opt = <value optimized out>
         pc = <value optimized out>
         be_domain = 0x20e8490 "DOMAIN"
         srv_name = <value optimized out>
         conf_entry = <value optimized out>
         main_ctx = 0x20f2360
         ret = 0
         long_options = {{longName = 0x0, shortName = 0 '\000', argInfo = 
4, arg = 0x644d00,
             val = 0, descrip = 0x436e64 "Help options:", argDescrip = 
0x0}, {
             longName = 0x436e72 "debug-level", shortName = 100 'd', 
argInfo = 2,
             arg = 0x644de0, val = 0, descrip = 0x436e43 "Debug level", 
argDescrip = 0x0}, {
             longName = 0x436e7e "debug-to-files", shortName = 102 'f', 
argInfo = 0,
             arg = 0x644de4, val = 0,
             descrip = 0x437ad8 "Send the debug output to files instead of 
stderr",
             argDescrip = 0x0}, {longName = 0x436e8d "debug-timestamps", 
shortName = 0 '\000',
             argInfo = 2, arg = 0x644cc0, val = 0, descrip = 0x436e4f "Add 
debug timestamps",
             argDescrip = 0x0}, {longName = 0x438458 "domain", shortName = 
0 '\000',
             argInfo = 1, arg = 0x7fffdebf31d8, val = 0,
             descrip = 0x437b10 "Domain of the information provider 
(mandatory)",
             argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\000', 
argInfo = 0, arg = 0x0,
             val = 0, descrip = 0x0, argDescrip = 0x0}}
         __FUNCTION__ = "main"


-- 
Timo Aaltonen
Systems Specialist, Aalto IT