ISC DHCP log_fatal aborts while using Failover function
ISC DHCP log_fatal aborts were seen in two scenarios while using the failover function. There was a WAN simulator in the testbed across the DHCP failover peers which simulates WAN like latencies/drops on packet exchanges across the Failover peers
The following scenarios log_fatal were hit
- dhcpd[21099]: <299801> <21099> |dhcpd| Peer failover-partner: Invalid attempt to move from potential-conflict to communications-interrupted while local state is conflict-done.
- dhcpd[29438]: <299801> <29438> |dhcpd| Peer failover-partner: Invalid attempt to move from communications-interrupted to communications-interrupted while local state is conflict-done.
#0 0x2ae2e774 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:67
#1 0x2ae302c0 in abort () at abort.c:92
#2 0x2ae2687c in __assert_fail (assertion=0x4be094 "0", file=0x4c5184 "dhcpd.c", line=234, function=0x4c5128 "exit_handler") at assert.c:81
#3 0x00460eec in exit_handler () at dhcpd.c:234
#4 0x2ae31d78 in __run_exit_handlers (status=1, listp=0x2af63354, run_list_atexit=true) at exit.c:78
#5 0x2ae31dc0 in exit (status=29438) at exit.c:100
#6 0x004a7424 in log_fatal (fmt=<value optimized out>) at omapip/errwarn.c:102
#7 0x00425594 in dhcp_failover_peer_state_changed (state=0x57131c, msg=<value optimized out>) at failover.c:2202
#8 0x004242bc in dhcp_failover_state_signal (o=0x57131c, name=<value optimized out>, ap=0x6) at failover.c:1468
#9 0x0042390c in dhcp_failover_listener_signal (o=0x576484, name=0x4cc8d8 "message", ap=<value optimized out>) at failover.c:1087
#10 0x004ac0ec in omapi_signal (handle=<value optimized out>, name=0x72fe <Address 0x72fe out of bounds>) at omapip/support.c:281
#11 0x004227c4 in dhcp_failover_link_signal (h=0x5b3824, name=<value optimized out>, ap=<value optimized out>) at failover.c:594
#12 0x004ac0ec in omapi_signal (handle=<value optimized out>, name=0x72fe <Address 0x72fe out of bounds>) at omapip/support.c:281
#13 0x0049faa4 in omapi_connection_reader (h=<value optimized out>) at omapip/buffer.c:259
#14 0x004a1a00 in omapi_one_dispatch (wo=<value optimized out>, t=0x7fbf78e0) at omapip/dispatch.c:514
#15 0x0043223c in dispatch () at dispatch.c:92
#16 0x00462da4 in main (argc=<value optimized out>, argv=<value optimized out>) at dhcpd.c:1555
Steps to reproduce the behavior:
- Run DHCP server across 2 failover peers
- Have a WAN simulator between the failover peers
Environment:
- OS: Linux kernel version 2.6.32
- ISC version dhcpd-4.1-ESV-R12-P1
Email: isaactheogaraj@h=gmail.com