Winbindd using 100% of CPU. Any solution?
Richard Sharpe
realrichardsharpe at gmail.com
Tue Dec 17 13:40:04 MST 2013
On Mon, Dec 16, 2013 at 1:56 PM, Richard Sharpe
<realrichardsharpe at gmail.com> wrote:
> On Mon, Dec 16, 2013 at 11:10 AM, Richard Sharpe
> <realrichardsharpe at gmail.com> wrote:
>
> More info ... because I see this in the log:
>
> adding 0x80334c940 to list at 0xeac360
>
> but do not see this:
>
> removing %p from list %p
>
> and because I see that the PID has been initialized, it looks like
> child->sock has been set to -1 without removing the child from the
> winbindd_children list!
That first entry looked bogus, and consistent, so I added some code to catch it:
Program received signal SIGABRT, Aborted.
0x00000008029ec78c in kill () from /lib/libc.so.7
(gdb) where
#0 0x00000008029ec78c in kill () from /lib/libc.so.7
#1 0x00000008029eb58b in abort () from /lib/libc.so.7
#2 0x0000000000591e3d in dump_core () at lib/fault.c:391
#3 0x00000000005a5304 in smb_panic (why=0xb618bf "bad entry 0xeac360")
at lib/util.c:1133
#4 0x00000000004bce20 in fork_domain_child (child=0xeac360)
at winbindd/winbindd_dual.c:1407
#5 0x00000000004b9293 in wb_child_request_trigger (req=0x80338e450,
private_data=0x0)
at winbindd/winbindd_dual.c:203
#6 0x00000000005bdaf9 in tevent_queue_immediate_trigger (ev=0x80331e110,
im=0x80331f3d0, private_data=0x8033304d0) at
../lib/tevent/tevent_queue.c:144
#7 0x00000000005bbee8 in tevent_common_loop_immediate (ev=0x80331e110)
at ../lib/tevent/tevent_immediate.c:135
#8 0x00000000005b8a32 in run_events_poll (ev=0x80331e110, pollrtn=0, pfds=0x0,
num_pfds=0) at lib/events.c:197
#9 0x00000000005b928b in s3_event_loop_once (ev=0x80331e110,
location=0xb520c4 "winbindd/winbindd.c:1456") at lib/events.c:331
#10 0x00000000005ba4ff in _tevent_loop_once (ev=0x80331e110,
location=0xb520c4 "winbindd/winbindd.c:1456") at ../lib/tevent/tevent.c:494
#11 0x000000000048a5a5 in main (argc=3, argv=0x7fffffffecb0,
envp=0x7fffffffecd0)
at winbindd/winbindd.c:1456
Before I hit this, this is what I saw on the list:
(gdb) p *winbindd_children
$1 = {next = 0x80330b100, prev = 0x803358a60, pid = 58473, domain = 0x803345a00,
logfilename = 0x80338b280 "/var/log/samba/log.wb-XCHANGE", sock = -1,
queue = 0x80338b250, binding_handle = 0x80338b350, lockout_policy_event = 0x0,
machine_password_change_event = 0x0, table = 0xe09580}
(gdb) p *winbindd_children->next
$2 = {next = 0x803379b80, prev = 0x803358d60, pid = 58472, domain = 0x803344e00,
logfilename = 0x80332ff80 "/var/log/samba/log.wb-VISTAPILOT", sock = 25,
queue = 0x80332f650, binding_handle = 0x803330050, lockout_policy_event = 0x0,
machine_password_change_event = 0x0, table = 0xe09580}
(gdb) p *winbindd_children->next->next
$3 = {next = 0x803358a60, prev = 0x80330b100, pid = 58471, domain = 0x803344800,
logfilename = 0x80332f780 "/var/log/samba/log.wb-NISTROOT", sock = 24,
queue = 0x80332f750, binding_handle = 0x80332fd50, lockout_policy_event = 0x0,
machine_password_change_event = 0x0, table = 0xe09580}
(gdb) p *winbindd_children->next->next->next
$4 = {next = 0x0, prev = 0x803379b80, pid = 58467, domain = 0x803344200,
logfilename = 0x803330380 "/var/log/samba/log.wb-NIST", sock = 21,
queue = 0x803330350, binding_handle = 0x803330450, lockout_policy_event = 0x0,
machine_password_change_event = 0x0, table = 0xe09580}
(gdb) p &winbindd_children
$5 = (struct winbindd_child **) 0xeac340
The list looks well structured at this point.
--
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)
More information about the samba-technical
mailing list