*** for who running Debian or Ubuntu systems. ***
There was something changed in %postinstall script on 3.5.x DEB packages and it corrupted automatic client upgrade process.
The script tries to restart all CFEngine deamons, cf-execd, cf-serverd and cf-monitord if there is a valid policy under /var/cfengine/inputs causing a race condition in update/update_bins.cf policy, but CFEngine processes promises tries to kill them all.
A policy patched is likely. You may simply add one more class to processes: type promises in update/update_bins.cf
from:
processes:
bin_newpkg::
"$(cf_components)" signals => { "$(stop_signal)" },
comment => "Stop cfengine running processes before binary update",
handle => "cfe_internal_update_bins_processes_stop_cfengine",
classes => u_if_repaired("stopped_cfprocs");
bin_newpkg.!windows::
"cf-execd" signals => { "$(stop_signal)" },
comment => "Stop cf-execd running process before binary update",
handle => "cfe_internal_update_bins_processes_stop_cf_execd",
classes => u_if_repaired("stopped_cfprocs");
to:
processes:
bin_newpkg.!bin_update_success::
"$(cf_components)" signals => { "$(stop_signal)" },
comment => "Stop cfengine running processes before binary update",
handle => "cfe_internal_update_bins_processes_stop_cfengine",
classes => u_if_repaired("stopped_cfprocs");
bin_newpkg.!bin_update_success.!windows::
"cf-execd" signals => { "$(stop_signal)" },
comment => "Stop cf-execd running process before binary update",
handle => "cfe_internal_update_bins_processes_stop_cf_execd",
classes => u_if_repaired("stopped_cfprocs");