/usr/sbin/zebra segfaults when running 'show run' with 'ip protocol route-map' on RHEL5U4

Solution Verified - Updated -

Issue

Quagga version is 0.98.6; downloaded from redhat.com. /etc/quagga/zebra.conf is simply:
  password zebra

Logging in, going to the config, setting a route-map and then trying to apply it causes Zebra to segfault:

HOST root[25] telnet localhost 2601
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Hello, this is Quagga (version 0.98.6).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

User Access Verification

Password:
HOST> en
HOST# con t
HOST(config)# route-map test permit 10
HOST(config-route-map)# q
HOST(config)# ip protocol rip route-map test
HOST(config)# sh run
Connection closed by foreign host.

GDB
[root@polo tmp]# gdb /usr/sbin/zebra core.4220
GNU gdb Fedora (6.8-37.el5)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu"...

warning: .dynamic section for "/lib64/libcap.so.1" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/libm.so.6" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/libcrypt.so.1" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/usr/lib64/libreadline.so.5" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/libtermcap.so.2" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/libc.so.6" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/ld-linux-x86-64.so.2" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/libnsl.so.1" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/libnss_ldap.so.2" is not at the expected address (wrong library or version mismatch?)

warning: .dynamic section for "/lib64/libcom_err.so.2" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/libkeyutils.so.1" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/libdl.so.2" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/libselinux.so.1" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/libresolv.so.2" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations

warning: .dynamic section for "/lib64/libsepol.so.1" is not at the expected address

warning: difference appears to be caused by prelink, adjusting expectations
Loaded symbols for /usr/sbin/zebra
Reading symbols from /lib64/libcap.so.1...done.
Loaded symbols for /lib64/libcap.so.1
Reading
symbols from /usr/lib64/quagga/libzebra.so.0...Reading symbols from
/usr/lib/debug/usr/lib64/quagga/libzebra.so.0.0.0.debug...done.
done.
Loaded symbols for /usr/lib64/quagga/libzebra.so.0
Reading symbols from /lib64/libm.so.6...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libcrypt.so.1...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /usr/lib64/libreadline.so.5...done.
Loaded symbols for /usr/lib64/libreadline.so.5
Reading symbols from /lib64/libtermcap.so.2...done.
Loaded symbols for /lib64/libtermcap.so.2
Reading symbols from /lib64/libc.so.6...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib64/libnss_compat.so.2...done.
Loaded symbols for /lib64/libnss_compat.so.2
Reading symbols from /lib64/libnsl.so.1...done.
Loaded symbols for /lib64/libnsl.so.1
Reading symbols from /lib64/libnss_ldap.so.2...done.
Loaded symbols for /lib64/libnss_ldap.so.2
Reading symbols from /lib64/libcom_err.so.2...done.
Loaded symbols for /lib64/libcom_err.so.2
Reading symbols from /lib64/libkeyutils.so.1...done.
Loaded symbols for /lib64/libkeyutils.so.1
Reading symbols from /lib64/libdl.so.2...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libselinux.so.1...done.
Loaded symbols for /lib64/libselinux.so.1
Reading symbols from /lib64/libresolv.so.2...done.
Loaded symbols for /lib64/libresolv.so.2
Reading symbols from /lib64/libsepol.so.1...done.
Loaded symbols for /lib64/libsepol.so.1
Reading symbols from /lib64/libnss_files.so.2...done.
Loaded symbols for /lib64/libnss_files.so.2
Core was generated by `/usr/sbin/zebra'.
Program terminated with signal 11, Segmentation fault.
[New process 4220]
#0  0x00002aeafd6466f0 in strlen () from /lib64/libc.so.6
(gdb) where
#0  0x00002aeafd6466f0 in strlen () from /lib64/libc.so.6
#1  0x00002aeafd613b69 in vfprintf () from /lib64/libc.so.6
#2  0x00002aeafd6b3e48 in __vsnprintf_chk () from /lib64/libc.so.6
#3  0x00002aeafca85da6 in vty_out (vty=0x2aeb0c03aba0, format=0x2aeafc43ea2e "ip protocol %s route-map %s%s") at vty.c:109
#4  0x00002aeafc430e74 in config_write_protocol (vty=0x2aeb0c03aba0) at zebra_vty.c:2077
#5
0x00002aeafca89962 in config_write_terminal (self=<value optimized
out>, vty=0x2aeb0c03aba0, argc=<value optimized out>,
argv=<value optimized out>) at command.c:2662
#6  0x00002aeafca8ca36 in cmd_execute_command_real (vline=0x2aeb0c03b620, vty=0x2aeb0c03aba0, cmd=0x0) at command.c:2090
#7  0x00002aeafca8cb46 in cmd_execute_command (vline=0x2aeb0c03b620, vty=0x2aeb0c03aba0, cmd=0x0, vtysh=0) at command.c:2125
#8  0x00002aeafca865c8 in vty_command (vty=0x2aeb0c03aba0, buf=<value optimized out>) at vty.c:364
#9  0x00002aeafca87550 in vty_execute (vty=0xfcaaf2c8) at vty.c:1206
#10 0x00002aeafca8802d in vty_read (thread=<value optimized out>) at vty.c:1419
#11 0x00002aeafca9116f in thread_call (thread=0x7fffe4564e10) at thread.c:855
#12 0x00002aeafc425f6d in main (argc=6, argv=0x7fffe4565008) at main.c:381
(gdb)

Environment

  • Red Hat Enterprise Linux 5.4
  • quagga-0.98.6-5.el5-x86_64

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content