Bug #17083
openUnbound can fail to restart with multiple link up/down events occur at once with specific interface bindings
0%
Description
If unbound is bound to certain interfaces, rather than using the default binding of "All", the hotplug events trigger unbound to be restarted. However, if there are multiple hotplug events that occur simultaneously, such as the case of subinterfaces on a parent interface that loses link (VLANs, LAGGs, etc) the restart scripts will "run over" each other. This can cause the unbound service to halt and never recover.
This results in the following logged entry:
php-fpm71366: NOTICE The command '/usr/local/sbin/unbound -c /var/unbound/unbound.conf' returned exit code '1', the output was '[1788937695] unbound[28961:0] warning: setsockopt(..., SO_SNDBUF, ...) was not granted: No buffer space available [1788937695] unbound[28961:0] warning: so-sndbuf 4194304 was not granted. Got 57344. To fix: start with root permissions(linux) or sysctl bigger net.core.wmem_max(linux) or kern.ipc.maxsockbuf(bsd) values. or set so-sndbuf: 0 (use system value). [1788937695] unbound[28961:0] error: bind: address already in use [1788937695] unbound[28961:0] fatal error: could not open ports'
As a workaround, unbound can be bound to "All", which will disable the restart operation, but better logic to only restart unbound once for all of the link up/down events would be better here.
Customer's appliance experienced this on 26.07.
No data to display