Summary: | net/bird: SIGSEGV after unexpected self-originated LSA | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | pbd |
Component: | Individual Port(s) | Assignee: | Olivier Cochard <olivier> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | CC: | jch |
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(olivier) |
Version: | Latest | ||
Hardware: | amd64 | ||
OS: | Any |
Description
pbd
2019-06-11 12:38:40 UTC
Hi, following exchange with original author of the port's OSPF patch: Your core dump shows that you didn't have the patch applied: file topology.c, line 1281 calling ea_get_int(). If you apply the patch, line 1281 is an empty line and can't call ea_get_int(). So, are you sure you meet the problem WITH the patch applied ? (In reply to Olivier Cochard from comment #1) I'm sorry, you are right. The backtrace I sent was bad, but the fact that I can reproduce the crash only when using Bird with the patch still stands. I've tried to make the right backtrace, but it looks to contain less information and I don't know why. I have added --enable-debug to CONFIGURE_ARGS in /usr/ports/net/bird/Makefile, rebuilt and reinstalled the daemon, crashed it and tried to generate the backtrace: --- snip --- # gdb bird bird.core-ports GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"...(no debugging symbols found)... Core was generated by `/usr/local/sbin/bird -c /usr/local/kernun/etc/router.bird4.conf'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done. Loaded symbols for /lib/libthr.so.3 Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x000000000042ab70 in ospf_originate_lsa () (gdb) backtrace full #0 0x000000000042ab70 in ospf_originate_lsa () No symbol table info available. #1 0x000000000042c3dd in ospf_update_topology () No symbol table info available. #2 0x000000000042a512 in ospf_disp () No symbol table info available. #3 0x000000000044cc5f in io_loop () No symbol table info available. #4 0x000000000045307a in main () No symbol table info available. --- snip --- I don't know why there is no symbol table info available. A commit references this bug: Author: olivier Date: Wed Aug 28 03:15:33 UTC 2019 New revision: 510039 URL: https://svnweb.freebsd.org/changeset/ports/510039 Log: Custom OSPF "wrong LSA collision detection patch" is in conflict with the fix included in bird 1.6.7 and generate crashes, so remove it. PR: 238496 Submitted by: pbd@pbd.name Reported by: Ondrej Zajicek <santiago@crfreenet.org> Changes: head/net/bird/Makefile head/net/bird/files/patch-proto__ospf__lsupd.c head/net/bird/files/patch-proto__ospf__topology.c This problem was fixed in a different way in the latest bird (1.6.7), and this patch was generating a crash, so it was removed. If you meet problem with 1.6.6, this should mean it was already creating problem on this version. Sorry for the delay. |