Bug 45414

Summary: nagios CRITICAL: Unknown program "<PROG>": bound to nscd socket.
Product: UCS Reporter: Stefan Gohmann <gohmann>
Component: Monitoring (Prometheus or Nagios)Assignee: Jürn Brodersen <brodersen>
Status: CLOSED FIXED QA Contact: Felix Botner <botner>
Severity: normal    
Priority: P5 CC: botner, brodersen
Version: UCS 4.2   
Target Milestone: UCS 4.2-2-errata   
Hardware: Other   
OS: Linux   
See Also: https://forge.univention.org/bugzilla/show_bug.cgi?id=42812
https://forge.univention.org/bugzilla/show_bug.cgi?id=49967
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?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: 2017091521000662 Bug group (optional): Workaround is available
Max CVSS v3 score:

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>