winbindd callbacks not triggered
Rowland penny
rpenny at samba.org
Mon Sep 28 09:12:17 UTC 2020
On 28/09/2020 09:51, Isaac Boukris via samba-technical wrote:
> Hi,
>
> I'm looking into a customer issue which i couldn't reproduce, they are
> running v4.10.4 (i didn't find any recent related fixes), and report
> that when winbindd runs for a while it becomes slow to respond and
> commands like 'id root' may take more than a minute.
>
> The first thing that caught my eyes is this one time error I see in
> log.winbindd, of which looks quite strange:
>
> [2020/09/02 07:04:35.886276, 0, pid=42540, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/wb_lookupsids.c:663(wb_lookupsids_recv)
> res_names->count = 2, expected 3
> [2020/09/02 07:04:35.886322, 5, pid=42540, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/wb_sids2xids.c:426(wb_sids2xids_recv)
> wb_sids_to_xids failed: NT_STATUS_INTERNAL_ERROR
>
> But the real issue is with requests that seem to get lost and for
> which the callbacks do not seem to be triggered, for example:
>
> [2020/09/01 20:12:01.603270, 6, pid=15783, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/winbindd.c:920(new_connection)
> accepted socket 32
> [2020/09/01 20:12:01.603329, 10, pid=15783, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/winbindd.c:768(process_request_send)
> process_request_send: process_request: request fn INTERFACE_VERSION
> [2020/09/01 20:12:01.603346, 3, pid=15783, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/winbindd_misc.c:432(winbindd_interface_version)
> winbindd_interface_version: [nss_winbind (19519)]: request interface
> version (version = 31)
> [2020/09/01 20:12:01.603376, 10, pid=15783, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/winbindd.c:854(process_request_written)
> process_request_written: [nss_winbind(19519):unknown request]:
> delivered response to client
> [2020/09/01 20:12:01.603441, 10, pid=15783, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/winbindd.c:744(process_request_send)
> process_request_send: process_request: Handling async request
> nss_winbind(19519):GETGROUPS
> [2020/09/01 20:12:01.603460, 3, pid=15783, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/winbindd_getgroups.c:66(winbindd_getgroups_send)
> winbindd_getgroups_send: [nss_winbind (19519)] getgroups root
> [2020/09/01 20:12:01.603723, 10, pid=15783, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/wb_sids2xids.c:114(wb_sids2xids_send)
> SID 0: S-1-22-1-0
> [2020/09/01 20:12:01.603767, 10, pid=15783, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/winbindd_util.c:1462(find_lookup_domain_from_sid)
> find_lookup_domain_from_sid: SID [S-1-22-1-0]
>
> And that's it, after that winbindd goes back to the main loop and
> handles another request, notice the pid (some times after several
> seconds like here, which shows that winbind is rather idle, sometimes
> immediately):
>
> [2020/09/01 20:12:13.111935, 6, pid=15783, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/winbindd.c:920(new_connection)
> accepted socket 29
>
> Reviewing the code flow from wb_sids2xids_send() it is not clear why
> it doesn't get it from cache, but mostly I could not make sense of
> these logs (assuming level 10), that is I expect to see more printouts
> before winbind goes back to the event loop...
>
> Then after a minute we get this (lp_winbind_request_timeout):
>
> [2020/09/01 20:13:02.700696, 5, pid=15783, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/winbindd.c:1212(remove_timed_out_clients)
> Client request timed out, shutting down sock 32, pid 19519
>
> Or sometimes the client gives up first, and we see some like this:
>
> [2020/09/01 20:13:05.144441, 6, pid=15783, effective(0, 0), real(0,
> 0), class=winbind]
> ../../source3/winbindd/winbindd.c:1019(winbind_client_activity)
> winbind_client_activity[19583:GETGROUPS]: client has closed
> connection - removing client
>
> Thoughts?
>
> Thanks!
>
Sounds to me like a misconfiguration in /etc/nsswitch.conf, running 'id
root' should check /etc/passwd and /etc/group first. winbind shouldn't
even be consulted.
Rowland
More information about the samba-technical
mailing list