io.c: bind_inet_socket() bind failed Address already in use
We use syslog-ng 1.6.12 in RHEL4. As part of our system testing we restart syslog-ng 150 times in a loop along with other services in the server.
syslog-ng fails to come up 3/4 times with the error : "io.c: bind_inet_socket() bind failed 192.168.128.1:601 Address already in use".
How do you restart syslog-ng? It takes some time to close sources/ destinations and there is a chance that the new syslog-ng instance tries to bind to the same address the not-yet-stopped instance still uses.
SIGKILL will be sent to the process, and then syslog-ng will be started again. Some example messages seen in the syslog during the restart are: INFO Process PID = 7216 is killed, signal SIGKILL sent successfully, path = /opt/bin/syslog-ng -F -p /var/run/master-syslog-ng.pid -f /etc/syslog-ng.conf. io.c: do_write: write() failed (errno 32), Broken pipe syslog-ng[6242]: pkt_buffer::do_flush(): Error flushing data syslog-ng[6242]: Connection broken to AF_INET(Server:601), reopening in 5 seconds INFO Process, PID = 7216, is signaled, signal number = 9, path = /opt/bin/syslog-ng -F -p /var/run/master-syslog-ng.pid -f /etc/syslog-ng.conf INFO Send start process command, process name: /MasterSyslogDaemon INFO A process started, pid:30573, process:/opt/bin/syslog-ng -F -p /var/run/master-syslog-ng.pid -f /etc/syslog-ng.conf INFO Process, PID = 30573, exit abnormally, exit code = 2, path = /bin/syslog-ng -F -p /var/run/master-syslog-ng.pid -f /etc/syslog-ng.conf INFO Reporting termination of process /MasterSyslogDaemon INFO Termination of process MasterSyslogDaemon reported io.c: bind_inet_socket() bind failed 192.168.128.1:601 Address already in use
participants (1)
-
Lucky Y