Bug 1467395 - Winbind does not close sockets and eventually hits clients limit
Winbind does not close sockets and eventually hits clients limit
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: samba (Show other bugs)
6.9
Unspecified Linux
unspecified Severity high
: rc
: ---
Assigned To: Andreas Schneider
qe-baseos-daemons
:
: 1467832 (view as bug list)
Depends On:
Blocks: 1504542
  Show dependency treegraph
 
Reported: 2017-07-03 11:57 EDT by Daniele
Modified: 2018-06-19 01:10 EDT (History)
5 users (show)

See Also:
Fixed In Version: samba-3.6.23-44.el6
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-06-19 01:08:55 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Samba Project 3204 None None None 2017-07-14 09:09 EDT
Red Hat Product Errata RHSA-2018:1860 None None None 2018-06-19 01:10 EDT

  None (edit)
Description Daniele 2017-07-03 11:57:49 EDT
Reporting Customer: Motorola
TAM Account: YES

Description of problem:
winbind seems to be leaving sockets open and eventually hitting clients limit, ending up in dumping a lot of text in the log files, affecting machine performance to the point that it might not responds to the console anymore.

Here's the problem as described by the customer:

====

I understand that actual root cause is that (for unknown reason) winbind __does not close sockets__
Here what scenario looks like (on actual production system, as mentioned before we are not able to reproduce it):

At some point in time following messages appears (this looks like random, no apparent issues are reported by OS before):
May  1 11:03:27 zc01.zone1 winbindd[5556]: [2017/05/01 11:03:27.380063,  0] winbindd/winbindd.c:975(winbindd_listen_fde_handler)
May  1 11:03:27 zc01.zone1 winbindd[5556]:   winbindd: Exceeding 200 client connections, no idle connection found
May  1 11:03:27 zc01.zone1 winbindd[5556]: [2017/05/01 11:03:27.388117,  0] winbindd/winbindd.c:975(winbindd_listen_fde_handler)
May  1 11:03:27 zc01.zone1 winbindd[5556]:   winbindd: Exceeding 200 client connections, no idle connection found
May  1 11:03:32 zc01.zone1 winbindd[5556]: [2017/05/01 11:03:32.119143,  0] winbindd/winbindd.c:975(winbindd_listen_fde_handler)
May  1 11:03:32 zc01.zone1 winbindd[5556]:   winbindd: Exceeding 200 client connections, no idle connection found
May  1 11:03:32 zc01.zone1 winbindd[5556]: [2017/05/01 11:03:32.119528,  0] winbindd/winbindd.c:975(winbindd_listen_fde_handler)
May  1 11:03:32 zc01.zone1 winbindd[5556]:   winbindd: Exceeding 200 client connections, no idle connection found
(...)
Winbind will stay at this state for some time, but after an hour or so process runs out of descriptors and message flood begins (this means like 10000+ entries/s), with following logs:

May  1 12:19:31 zc01.zone1 winbindd[5556]:   winbindd: Exceeding 200 client connections, no idle connection found
May  1 12:19:32 zc01.zone1 winbindd[5556]: [2017/05/01 12:19:32.468367,  0] winbindd/winbindd.c:975(winbindd_listen_fde_handler)
May  1 12:19:32 zc01.zone1 winbindd[5556]:   winbindd: Exceeding 200 client connections, no idle connection found
May  1 12:19:32 zc01.zone1 winbindd[5556]: [2017/05/01 12:19:32.468437,  0] winbindd/winbindd.c:817(new_connection)
May  1 12:19:32 zc01.zone1 winbindd[5556]:   Faild to accept socket - Too many open files
May  1 12:19:32 zc01.zone1 winbindd[5556]: [2017/05/01 12:19:32.468608,  0] winbindd/winbindd.c:975(winbindd_listen_fde_handler)
May  1 12:19:32 zc01.zone1 winbindd[5556]:   winbindd: Exceeding 200 client connections, no idle connection found
May  1 12:19:32 zc01.zone1 winbindd[5556]: [2017/05/01 12:19:32.468630,  0] winbindd/winbindd.c:817(new_connection)
May  1 12:19:32 zc01.zone1 winbindd[5556]:   Faild to accept socket - Too many open files
May  1 12:19:32 zc01.zone1 winbindd[5556]: [2017/05/01 12:19:32.468685,  0] winbindd/winbindd.c:975(winbindd_listen_fde_handler)
May  1 12:19:32 zc01.zone1 winbindd[5556]:   winbindd: Exceeding 200 client connections, no idle connection found
May  1 12:19:32 zc01.zone1 winbindd[5556]: [2017/05/01 12:19:32.468704,  0] winbindd/winbindd.c:817(new_connection)
May  1 12:19:32 zc01.zone1 winbindd[5556]:   Faild to accept socket - Too many open files

This of course provides huge impact on I/O, /var/log gets full in the matter of minutes and process itself eating up CPU making server so busy it's impossible to login on console or ssh. To recover the server you need to power-cycle & do some clean up on /var/log.

We would expect that "winbind request timeout" is backported to samba-winbind-3.6 as per https://attachments.samba.org/attachment.cgi?id=10128
 and https://bugzilla.samba.org/show_bug.cgi?id=3204

===


While the customer understands that RHEL6 is late into its production cycle and a backport might not be possible, they expect us to at least provide them with a supported workaround that inhibits the spam in the logs and therefore protects the machine from being impacted.
Comment 4 Andreas Schneider 2017-07-18 05:14:01 EDT
*** Bug 1467832 has been marked as a duplicate of this bug. ***
Comment 9 errata-xmlrpc 2018-06-19 01:08:55 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:1860

Note You need to log in before you can comment on or make changes to this bug.