Details
-
Type:
Bug
-
Status: Open
-
Priority:
(None)
-
Resolution: Unresolved
-
Affects Version/s: 3.15.1, 3.18.1
-
Fix Version/s: None
-
Component/s: cf-serverd
-
Labels:None
Description
This is due to a race condition in the lock handling:
- cfengine interprocess locks are stored in lmdb
- when cf-serverd starts, it holds a lock and releases it on stop
- when it restarts, it checks this lock and if it expired, it tries to kill the owning process
- sometime with pid turnover, it can be possible that this pid has been reused by another process in the meantime
We should add a check to make sure we only ever kill cfengine processes