SIGSEGV when using multiple kernel protocols

georg-network.cz at glas.eu.org georg-network.cz at glas.eu.org
Thu Nov 20 14:06:04 CET 2008


using  BIRD version 1.0.12 (1.0.12-1~bpo40+1 provided by
bird.network.cz) or 10.0.11 (debian stable) i cannot use multiple kernel
protocols. However configuration works fine with other protocols. Can
you confirm this is a bug ?


# grep -v ^\# /etc/bird.conf

log syslog { info, remote, warning, error, auth, fatal, bug };

router id 14.215.237.93;


filter funkfeuer {
        if net ~ 10.12.0.0/16 then accept;
        else reject;
}


table fftable;

debug protocols all;

protocol direct {
        interface "eth2";       # Restrict network interfaces it works with
}

protocol kernel {
        persist;                # Don't remove routes on bird shutdown
        scan time 20;           # Scan kernel routing table every 20 seconds
        import all;             # Default is import all
        export none;            # Default is export none
}

protocol kernel {
        persist;                # Don't remove routes on bird shutdown
        scan time 20;           # Scan kernel routing table every 20 seconds
        import all;             # Default is import all
        export none;            # Default is export none
        kernel table 100;       # Kernel table to synchronize with
(default: main)
        table fftable;
}

protocol device {
        scan time 10;           # Scan interfaces every 10 seconds
}



# strace -f /usr/sbin/bird
execve("/usr/sbin/bird", ["/usr/sbin/bird"], [/* 19 vars */]) = 0
brk(0)                                  = 0x9003000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or
directory)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7f97000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=40782, ...}) = 0
mmap2(NULL, 40782, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f8d000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or
directory)
open("/lib/i686/cmov/librt.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\31\0\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=30624, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7f8c000
mmap2(NULL, 33360, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0xb7f83000
mmap2(0xb7f8a000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb7f8a000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or
directory)
open("/lib/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260e\1"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1413540, ...}) = 0
mmap2(NULL, 1418864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xb7e28000
mmap2(0xb7f7d000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x155) = 0xb7f7d000
mmap2(0xb7f80000, 9840, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f80000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or
directory)
open("/lib/i686/cmov/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000H\0\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=116414, ...}) = 0
mmap2(NULL, 98784, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0xb7e0f000
mmap2(0xb7e24000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14) = 0xb7e24000
mmap2(0xb7e26000, 4576, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7e26000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7e0e000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e0e6b0,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7f7d000, 4096, PROT_READ)   = 0
munmap(0xb7f8d000, 40782)               = 0
set_tid_address(0xb7e0e6f8)             = 11535
sendto(-1209997568, umovestr: Input/output error
0xc, 3085062132,
MSG_PROXY|MSG_EOR|MSG_TRUNC|MSG_ERRQUEUE|MSG_FIN|MSG_SYN|MSG_NOSIGNAL|MSG_MORE|0xb7e00000,
{sa_family=0xed31 /* AF_??? */,
sa_data="^\211\341\203\344\360PTRh\300\337\7\10"}, 3215664928) = 0
futex(0xbfab2710, 0x81 /* FUTEX_??? */, 1) = 0
rt_sigaction(SIGRTMIN, {0xb7e132e0, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0xb7e13720, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sys="Linux", node="home", ...})  = 0
socket(PF_FILE, SOCK_DGRAM, 0)          = 3
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 4
connect(4, {sa_family=AF_FILE, path="/var/run/bird.ctl"}, 19) = -1
ENOENT (No such file or directory)
close(4)                                = 0
brk(0)                                  = 0x9003000
brk(0x9024000)                          = 0x9024000
clock_gettime(CLOCK_MONOTONIC, {179981, 358914733}) = 0
clock_gettime(CLOCK_MONOTONIC, {179981, 358989240}) = 0
time(NULL)                              = 1227186262
open("/etc/bird.conf", O_RDONLY)        = 4
read(4, "# minimal config fuer debugging\n"..., 8192) = 3516
read(4, "", 8192)                       = 0
close(4)                                = 0
socket(PF_NETLINK, SOCK_RAW, 0)         = 4
socket(PF_NETLINK, SOCK_RAW, 0)         = 5
bind(5, {sa_family=AF_NETLINK, pid=0, groups=00000051}, 12) = 0
fcntl64(5, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Process 11535 detached




More information about the Bird-users mailing list