[FROG] ospfd crashes when deleting a route-map

Amol Lad Amol.Lad at 4rf.com
Thu Sep 24 09:20:28 UTC 2020


Hi,

I'm using FRR 7.4 (OpenWrt). I'm not using the integrated-config (i.e. each daemon has it's own config file). Below sequence of commands crashes ospfd. Please advise if any more useful debug information I can provide regarding this issue.


===
CRASH-1 [this happens after "no route-map SET_MED permit 10" command is executed]

OSPF[9944]: Received signal 4 at 1772832797 (si_addr 0xffffffffb6f206d0); aborting...
OSPF[9944]: in thread vtysh_read scheduled from lib/vty.c:2675


FRR(config)# log syslog
FRR(config)# debug ospf zebra
FRR(config)# debug ospf event
FRR(config)# debug ospf ism
FRR(config)# do show running-config
Building configuration...

Current configuration:
!
frr version 7.4
frr defaults traditional
log syslog
hostname FRR
!
line vty
!
End

FRR(config)# route-map SET_MED permit 10
FRR(config-route-map)# set metric 3333
FRR(config-route-map)# exit
FRR(config)# no route-map SET_MED permit 10
(** console hangs here for very long time and finally shows below error **)
vtysh: error reading from ospfd: No such file or directory (2)Warning: closing connection to ospfd because of an I/O error!
FRR(config)#

===
CRASH-2 [this happens after "set metric 1234" command is executed]

ripd[9945]: route_set_metric_compile: Metric specified: 1234 is greater than RIP_METRIC_INFINITY, using INFINITY instead
ripngd[9948]: route_set_metric_compile: Metric specified: 1234 is being converted into METRIC_INFINITY
OSPF[9952]: Received signal 11 at 1772834027 (si_addr 0x8); aborting...
OSPF[9952]: in thread vtysh_read scheduled from lib/vty.c:2675

FRR(config)# log syslog
FRR(config)# debug ospf ism
FRR(config)# debug ospf event
FRR(config)# debug ospf zebra
FRR(config)# do show running-config
Building configuration...

Current configuration:
!
frr version 7.4
frr defaults traditional
log syslog
hostname FRR
!
line vty
!
End

FRR(config)# route-map SET_MED permit 10
FRR(config-route-map)# set metric 1234
(** console hangs here for very long time and finally shows below error **)
vtysh: error reading from ospfd: No such file or directory (2)Warning: closing connection to ospfd because of an I/O error!
AprisaLTE(config-route-map)#

==

root at AprisaLTE:/# cat /etc/frr/daemons
# The watchfrr and zebra daemons are always started.
#
bgpd=yes
ospfd=yes
#ospfd_instances=1,20
ospf6d=yes
ripd=yes
ripngd=yes
isisd=no
pimd=no
ldpd=no
nhrpd=yes
eigrpd=yes
babeld=no
sharpd=no
pbrd=no
bfdd=no
fabricd=no
vrrpd=no

#
# If this option is set the /etc/init.d/frr script automatically loads
# the config via "vtysh -b" when the servers are started.
# Check /etc/pam.d/frr if you intend to use "vtysh"!
#
vtysh_enable=yes
zebra_options="  -A 127.0.0.1 -s 90000000 -f /opt/conf/openwrt/etc/frr/zebra.conf"
bgpd_options="   -A 127.0.0.1 -f /opt/conf/openwrt/etc/frr/bgpd.conf"
ospfd_options="  -A 127.0.0.1 -f /opt/conf/openwrt/etc/frr/ospfd.conf"
ospf6d_options=" -A ::1 -f /opt/conf/openwrt/etc/frr/ospf6d.conf"
ripd_options="   -A 127.0.0.1 -f /opt/conf/openwrt/etc/frr/ripd.conf"
ripngd_options=" -A ::1 -f /opt/conf/openwrt/etc/frr/ripngd.conf"
isisd_options="  -A 127.0.0.1"
pimd_options="   -A 127.0.0.1"
ldpd_options="   -A 127.0.0.1 -f /opt/conf/openwrt/etc/frr/ldpd.conf"
nhrpd_options="  -A 127.0.0.1 -f /opt/conf/openwrt/etc/frr/nhrpd.conf"
eigrpd_options=" -A 127.0.0.1 -f /opt/conf/openwrt/etc/frr/eigrpd.conf"
babeld_options=" -A 127.0.0.1"
sharpd_options=" -A 127.0.0.1"
pbrd_options="   -A 127.0.0.1 -f /opt/conf/openwrt/etc/frr/pbrd.conf"
staticd_options="-A 127.0.0.1 -f /opt/conf/openwrt/etc/frr/staticd.conf"
bfdd_options="   -A 127.0.0.1 -f /opt/conf/openwrt/etc/frr/bfdd.conf"
fabricd_options="-A 127.0.0.1"
vrrpd_options="  -A 127.0.0.1"

# The list of daemons to watch is automatically generated by the init script.
#watchfrr_options=""

# for debugging purposes, you can specify a "wrap" command to start instead
# of starting the daemon directly, e.g. to use valgrind on ospfd:
#   ospfd_wrap="/usr/bin/valgrind"
# or you can use "all_wrap" for all daemons, e.g. to use perf record:
#   all_wrap="/usr/bin/perf record --call-graph -"
# the normal daemon command is added to this at the end.


More information about the frog mailing list