Bug 48613 - It's possible to start univention-directory-listener twice
It's possible to start univention-directory-listener twice
Status: NEW
Product: UCS
Classification: Unclassified
Component: Listener (univention-directory-listener)
UCS 4.3
Other Linux
: P5 normal (vote)
: ---
Assigned To: UCS maintainers
UCS maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2019-02-04 20:46 CET by Arvid Requate
Modified: 2019-02-04 20:47 CET (History)
0 users

See Also:
What kind of report is it?: Development Internal
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arvid Requate univentionstaff 2019-02-04 20:46:47 CET
I followed https://help.univention.com/t/recreate-listener-cache/6426 to re-initialize the listener.

root@master10:~# ps ax | grep list
13116 ?        Ss     0:00 runsv univention-directory-listener
13146 pts/1    S      0:03 /usr/sbin/univention-directory-listener -F -b dc=ar41i1,dc=qa -m /usr/lib/univention-directory-listener/system -c /var/lib/univention-directory-listener -d 2 -x -ZZ -D cn=admin,dc=ar41i1,dc=qa -y /etc/ldap.secret -g
13310 pts/1    S      0:00 tail -f /var/log/univention/listener.log


In this state (initialization has finished) it's possible to start a second instance (the log output comes from a tail -f running in the background):

root@master10:~# /etc/init.d/univention-directory-listener start
[ ok ] Starting univention-directory-listener (via systemctl): univention-directory-listener.service.
root@master10:~# 23.01.19 16:37:38.282  DEBUG_INIT
23.01.19 16:37:38.291  LISTENER    ( WARN    ) : Notifier/LDAP server is master10.ar41i1.qa:7389
23.01.19 16:37:38.292  LDAP        ( PROCESS ) : connecting to ldap://master10.ar41i1.qa:7389
UNIVENTION_DEBUG_BEGIN  : uldap.__open host=master10.ar41i1.qa port=7389 base=dc=ar41i1,dc=qa
UNIVENTION_DEBUG_END    : uldap.__open host=master10.ar41i1.qa port=7389 base=dc=ar41i1,dc=qa

root@master10:~# ps ax | grep list
13116 ?        Ss     0:00 runsv univention-directory-listener
13146 pts/1    S      0:03 /usr/sbin/univention-directory-listener -F -b dc=ar41i1,dc=qa -m /usr/lib/univention-directory-listener/system -c /var/lib/univention-directory-listener -d 2 -x -ZZ -D cn=admin,dc=ar41i1,dc=qa -y /etc/ldap.secret -g
13310 pts/1    S      0:00 tail -f /var/log/univention/listener.log
14872 ?        S      0:01 /usr/sbin/univention-directory-listener -F -d 2 -b dc=ar41i1,dc=qa -m /usr/lib/univention-directory-listener/system -c /var/lib/univention-directory-listener -ZZ -x -D cn=admin,dc=ar41i1,dc=qa -y /etc/ldap.secret

No clue what it does, but IIRC there should be some locking and some checks to avoid this.