When stopping a ticktock instance and (re-)starting it a short time later - e.g. stop, run backup, re-start - the instance cannot bind to the socket ports. Within the logs one can see e.g.
[INFO] [main] Starting TCP Server on ports 5000... ... [ERROR] [main] Failed to bind to any network interfaces, errno=98
Errno 98 means address in use.
This happens in ./core/tcp.cpp when calling bind(). I assume it's due the socket ports are in TIME_WAIT state and SO_REUSEADDR isn't given.
Current workaround is to wait until the TIME_WAIT state is gone (~60s on Linux) before re-starting the instance.
Please try to use /admin/stop.sh and wait for "shutdown complete" message. If the problem persists, you can use kill -9 <ticktock id> to work around it.
When stopping a
ticktock
instance and (re-)starting it a short time later - e.g. stop, run backup, re-start - the instance cannot bind to the socket ports. Within the logs one can see e.g.[INFO] [main] Starting TCP Server on ports 5000... ... [ERROR] [main] Failed to bind to any network interfaces, errno=98
Errno 98 means
address in use
.This happens in
./core/tcp.cpp
when callingbind()
. I assume it's due the socket ports are inTIME_WAIT
state andSO_REUSEADDR
isn't given.Current workaround is to wait until the
TIME_WAIT
state is gone (~60s on Linux) before re-starting the instance.