Bug 45414 - nagios CRITICAL: Unknown program "<PROG>": bound to nscd socket.
nagios CRITICAL: Unknown program "<PROG>": bound to nscd socket.
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Nagios
UCS 4.2
Other Linux
: P5 normal (vote)
: UCS 4.2-2-errata
Assigned To: Jürn Brodersen
Felix Botner
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2017-09-19 06:48 CEST by Stefan Gohmann
Modified: 2017-10-10 15:38 CEST (History)
2 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 5: Major Usability: Impairs usability in key scenarios
Who will be affected by this bug?: 2: Will only affect a few installed domains
How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.114
Enterprise Customer affected?: Yes
School Customer affected?:
ISV affected?:
Ticket number: 2017091521000662
Bug group (optional): Workaround is available
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2017-09-19 06:48:40 CEST
At least two cases have been reported about the nagios nscd message:

nagios CRITICAL: Unknown program "<PROG>": bound to nscd socket.

Ticket #2017091521000662 and https://help.univention.com/t/unknown-program-kopano-spooler-bound-to-nscd-socket/6551

After restarting the nscd process the error is gone.
Comment 1 Stefan Gohmann univentionstaff 2017-09-19 06:49:56 CEST
The message has been introduced with Bug #42812.
Comment 2 Stefan Gohmann univentionstaff 2017-09-19 06:53:39 CEST
I think we should fix it soon since it is a regression.
Comment 3 Stefan Gohmann univentionstaff 2017-09-19 07:11:23 CEST
Workaround: restart nscd or remove UNIVENTION_NSCD2 from the list of nagios services for the server object in UMC and add UNIVENTION_NSCD.
Comment 4 Jürn Brodersen univentionstaff 2017-09-21 16:05:08 CEST
Commit: e837a1350ba6a05bf23308b3af2dc6d71c0d2a28
Package: univention-nagios
Version: 10.1.1-2A~4.2.0.201709211123
Branch: ucs_4.2-0
Scope: errata4.2-2

I used lsof to check which program opened the nscd socket. lsof sometimes returns the wrong result.

The problem occurs if a program deletes the file which was created during the socket generation but does not close the socket. That case is handled wrong by lsof and sometimes these programs are reported on the wrong sockets.

Small script to illustrate the problem:
'''
#!/bin/bash

for i in $(seq 1 1024); do
    ( nc -l -U "$PWD/test_soc"$i & )
done
sleep 1
for i in $(seq 1 1024); do
    rm "test_soc$i"
done
sleep 1
( nc -l -U "$PWD/test_soc" & )
echo lsof
lsof "test_soc"
echo "fuser"
fuser "test_soc"
pkill -f "nc -l -U $PWD/test_soc"
rm "$PWD/test_soc
'''

I fixed it by replacing lsof with fuser.
Comment 5 Felix Botner univentionstaff 2017-10-02 13:08:53 CEST
OK - nscd check
OK - YAML
Comment 6 Arvid Requate univentionstaff 2017-10-10 15:38:50 CEST
<http://errata.software-univention.de/ucs/4.2/193.html>