ot-br-posix: OTBR w/ TREL Segmentation Faults at ToT
Describe the bug
OTBR at a recent commit with TREL and BBR enabled seg faults. Removing the trel:// URL no longer seg faults, suggesting this is in the mDNS/TREL code path.
To Reproduce Information to reproduce the behavior, including:
- Git commit id 6b2a8e2e83c00d0a5ec347f3229aa6176d03950a
- IEEE 802.15.4 hardware platform Silabs EFR32MG1 RCP
- Build steps Built using Yocto - previous commits work
- Network topology - N/A
Console/log output
otbr-agent -d7 -I wpan0 -B br-lan 'spinel+hdlc+uart:///dev/ttyQHS0?uart-baudrate=115200&uart-flow-control' trel://br-lan -v
otbr-agent[30167]: [INFO]-UTILS---: Running 0.3.0-6b2a8e2e8
otbr-agent[30167]: [INFO]-UTILS---: Thread version: 1.2.0
otbr-agent[30167]: [INFO]-UTILS---: Thread interface: wpan0
otbr-agent[30167]: [INFO]-UTILS---: Backbone interface: br-lan
otbr-agent[30167]: [INFO]-UTILS---: Radio URL: spinel+hdlc+uart:///dev/ttyQHS0?uart-baudrate=115200&uart-flow-control
otbr-agent[30167]: [INFO]-UTILS---: Radio URL: trel://br-lan
otbr-agent[30167]: 49d.19:22:03.993 [INFO]-PLAT----: RCP reset: RESET_SOFTWARE
otbr-agent[30167]: 49d.19:22:04.021 [NOTE]-PLAT----: RCP API Version: 4
otbr-agent[30167]: [DEBG]-TrelDns-: Initialized on netif "br-lan"
otbr-agent[30167]: [DEBG]-TrelDns-: Netif br-lan is ready: index = 12
otbr-agent[30167]: 49d.19:22:04.026 [INFO]-PLAT----: Backbone interface is configured to br-lan (12)
otbr-agent[30167]: 00:00:00.069 [INFO]-CORE----: [settings] Read NetworkInfo {rloc:0x2c00, extaddr:9668d2e0eefe55d3, role:leader, mode:0x0f, version:3, keyseq:0x0, ...
otbr-agent[30167]: 00:00:00.069 [INFO]-CORE----: [settings] ... pid:0x6323cfc0, mlecntr:0x1bf0d, maccntr:0x15cba, mliid:918b6c28d048e257}
otbr-agent[30167]: [DEBG]-TrelDns-: Start browsing _trel._udp services ...
otbr-agent[30167]: 00:00:00.085 [INFO]-MAC-----: Trel: Enabled interface, local port:54010
otbr-agent[30167]: 00:00:00.087 [INFO]-CORE----: [settings] Read OmrPrefix fdb3:1d6f:f18a:cc0d::/64
otbr-agent[30167]: 00:00:00.088 [INFO]-CORE----: [settings] Read OnLinkPrefix fdc8:176d:7c5f:0::/64
otbr-agent[30167]: 00:00:00.088 [INFO]-BR------: Infra interface (12) state changed: NOT RUNNING -> RUNNING
otbr-agent[30167]: [INFO]-UTILS---: Set state callback: OK
otbr-agent[30167]: 00:00:00.088 [INFO]-CORE----: [settings] Read SrpServerInfo {port:53536}
otbr-agent[30167]: 00:00:00.089 [INFO]-SRP-----: [server] selected port 53537
otbr-agent[30167]: 00:00:00.089 [INFO]-N-DATA--: Publisher: Publishing DNS/SRP service unicast (ml-eid, port:53537)
otbr-agent[30167]: 00:00:00.089 [INFO]-N-DATA--: Publisher: DNS/SRP service - State: NoEntry -> ToAdd
otbr-agent[30167]: [INFO]-MDNS----: Avahi client state changed to 2.
otbr-agent[30167]: [INFO]-MDNS----: Avahi client ready.
otbr-agent[30167]: [INFO]-BA------: Publish meshcop service eero_thread._meshcop._udp.local.
otbr-agent[30167]: [INFO]-MDNS----: Avahi group change to state 0.
otbr-agent[30167]: [INFO]-MDNS----: Create service eero_thread._meshcop._udp for host localhost
otbr-agent[30167]: [INFO]-MDNS----: Commit service eero_thread._meshcop._udp
otbr-agent[30167]: [INFO]-ADPROXY-: Publish all hosts and services
otbr-agent[30167]: [DEBG]-TrelDns-: mDNS Publisher is Ready
Segmentation fault (core dumped)
strace (towards end where it seg faults):
writev(2, [{iov_base="otbr-agent[32057]: 00:00:02.189 "..., iov_len=99}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: 00:00:02.189 [INFO]-CORE----: [settings] Read OmrPrefix fdb3:1d6f:f18a:cc0d::/64
) = 100
send(3, "<14>Feb 8 18:13:48 otbr-agent[3"..., 119, MSG_NOSIGNAL) = 119
_llseek(17, 0, [246], SEEK_END) = 0
_llseek(17, 0, [0], SEEK_SET) = 0
read(17, "\t\0", 2) = 2
read(17, "\21\0", 2) = 2
_llseek(17, 17, [21], SEEK_CUR) = 0
read(17, "\n\0", 2) = 2
read(17, "\21\0", 2) = 2
read(17, "\375\310\27m|_\0\0\0\0\0\0\0\0\0\0@", 17) = 17
clock_gettime(CLOCK_MONOTONIC_RAW, {tv_sec=8612, tv_nsec=990433214}) = 0
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344029, tv_nsec=236039658}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: 00:00:02.524 "..., iov_len=99}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: 00:00:02.524 [INFO]-CORE----: [settings] Read OnLinkPrefix fdc8:176d:7c5f:0::/64
) = 100
send(3, "<14>Feb 8 18:13:49 otbr-agent[3"..., 119, MSG_NOSIGNAL) = 119
clock_gettime(CLOCK_MONOTONIC_RAW, {tv_sec=8612, tv_nsec=991534275}) = 0
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344029, tv_nsec=237039659}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: 00:00:02.525 "..., iov_len=107}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: 00:00:02.525 [INFO]-BR------: Infra interface (12) state changed: NOT RUNNING -> RUNNING
) = 108
send(3, "<14>Feb 8 18:13:49 otbr-agent[3"..., 127, MSG_NOSIGNAL) = 127
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 19
openat(AT_FDCWD, "/run/openthread-wpan0.lock", O_RDONLY|O_CREAT|O_CLOEXEC, 0600) = 20
flock(20, LOCK_EX|LOCK_NB) = 0
unlink("/run/openthread-wpan0.sock") = 0
bind(19, {sa_family=AF_UNIX, sun_path="/run/openthread-wpan0.sock"}, 110) = 0
listen(19, 1) = 0
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344029, tv_nsec=240039661}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: [INFO]-UTILS-"..., iov_len=58}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: [INFO]-UTILS---: Set state callback: OK
) = 59
send(3, "<14>Feb 8 18:13:49 otbr-agent[3"..., 78, MSG_NOSIGNAL) = 78
_llseek(17, 0, [246], SEEK_END) = 0
_llseek(17, 0, [0], SEEK_SET) = 0
read(17, "\t\0", 2) = 2
read(17, "\21\0", 2) = 2
_llseek(17, 17, [21], SEEK_CUR) = 0
read(17, "\n\0", 2) = 2
read(17, "\21\0", 2) = 2
_llseek(17, 17, [42], SEEK_CUR) = 0
read(17, "\7\0", 2) = 2
read(17, " \0", 2) = 2
_llseek(17, 32, [78], SEEK_CUR) = 0
read(17, "\r\0", 2) = 2
read(17, "\2\0", 2) = 2
read(17, " \321", 2) = 2
clock_gettime(CLOCK_MONOTONIC_RAW, {tv_sec=8613, tv_nsec=9826111}) = 0
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344029, tv_nsec=256039670}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: 00:00:02.543 "..., iov_len=91}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: 00:00:02.543 [INFO]-CORE----: [settings] Read SrpServerInfo {port:53536}
) = 92
send(3, "<14>Feb 8 18:13:49 otbr-agent[3"..., 111, MSG_NOSIGNAL) = 111
clock_gettime(CLOCK_MONOTONIC_RAW, {tv_sec=8613, tv_nsec=11225609}) = 0
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344029, tv_nsec=257039670}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: 00:00:02.545 "..., iov_len=77}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: 00:00:02.545 [INFO]-SRP-----: [server] selected port 53537
) = 78
send(3, "<14>Feb 8 18:13:49 otbr-agent[3"..., 97, MSG_NOSIGNAL) = 97
clock_gettime(CLOCK_MONOTONIC_RAW, {tv_sec=8613, tv_nsec=12527150}) = 0
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344029, tv_nsec=258039671}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: 00:00:02.546 "..., iov_len=115}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: 00:00:02.546 [INFO]-N-DATA--: Publisher: Publishing DNS/SRP service unicast (ml-eid, port:53537)
) = 116
send(3, "<14>Feb 8 18:13:49 otbr-agent[3"..., 135, MSG_NOSIGNAL) = 135
clock_gettime(CLOCK_MONOTONIC_RAW, {tv_sec=8613, tv_nsec=344078151}) = 0
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344029, tv_nsec=590039859}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: 00:00:02.878 "..., iov_len=101}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: 00:00:02.878 [INFO]-N-DATA--: Publisher: DNS/SRP service - State: NoEntry -> ToAdd
) = 102
send(3, "<14>Feb 8 18:13:49 otbr-agent[3"..., 121, MSG_NOSIGNAL) = 121
openat(AT_FDCWD, "/dev/urandom", O_RDONLY) = 21
clock_getres_time64(CLOCK_MONOTONIC, 0x7ea0d878) = -1 ENOSYS (Function not implemented)
clock_getres(CLOCK_MONOTONIC, {tv_sec=0, tv_nsec=1}) = 0
getresuid32([0], [0], [0]) = 0
getresgid32([0], [0], [0]) = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 22
connect(22, {sa_family=AF_UNIX, sun_path="/run/dbus/system_bus_socket"}, 29) = 0
fcntl64(22, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(22, F_SETFL, O_RDWR|O_NONBLOCK) = 0
geteuid32() = 0
getsockname(22, {sa_family=AF_UNIX}, [128->2]) = 0
poll([{fd=22, events=POLLOUT}], 1, 0) = 1 ([{fd=22, revents=POLLOUT}])
send(22, "\0", 1, MSG_NOSIGNAL) = 1
send(22, "AUTH EXTERNAL 30\r\n", 18, MSG_NOSIGNAL) = 18
poll([{fd=22, events=POLLIN}], 1, -1) = 1 ([{fd=22, revents=POLLIN}])
read(22, "OK 4dbda05d9e940254433cb6a26201e"..., 2048) = 37
poll([{fd=22, events=POLLOUT}], 1, -1) = 1 ([{fd=22, revents=POLLOUT}])
send(22, "NEGOTIATE_UNIX_FD\r\n", 19, MSG_NOSIGNAL) = 19
poll([{fd=22, events=POLLIN}], 1, -1) = 1 ([{fd=22, revents=POLLIN}])
read(22, "AGREE_UNIX_FD\r\n", 2048) = 15
poll([{fd=22, events=POLLOUT}], 1, -1) = 1 ([{fd=22, revents=POLLOUT}])
send(22, "BEGIN\r\n", 7, MSG_NOSIGNAL) = 7
poll([{fd=22, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=22, revents=POLLOUT}])
sendmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1\0\0\0\0\1\0\0\0n\0\0\0\1\1o\0\25\0\0\0/org/fre"..., iov_len=128}, {iov_base="", iov_len=0}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 128
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=355104727}) = 0
poll([{fd=22, events=POLLIN}], 1, 25000) = 1 ([{fd=22, revents=POLLIN}])
recvmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\f\0\0\0\1\0\0\0=\0\0\0\6\1s\0\7\0\0\0:1.1507\0"..., iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 264
recvmsg(22, {msg_namelen=0}, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=357793791}) = 0
clock_gettime(CLOCK_REALTIME, {tv_sec=1644344029, tv_nsec=601461616}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=358419103}) = 0
sendmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1f\0\0\0\2\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"..., iov_len=144}, {iov_base="a\0\0\0type='signal', interface='or"..., iov_len=102}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 246
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=358889041}) = 0
poll([{fd=22, events=POLLIN}], 1, 25000) = 1 ([{fd=22, revents=POLLIN}])
recvmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\0\0\0\0\3\0\0\0005\0\0\0\6\1s\0\7\0\0\0:1.1507\0"..., iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 72
recvmsg(22, {msg_namelen=0}, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_REALTIME, {tv_sec=1644344029, tv_nsec=603466388}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=690656042}) = 0
sendmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1q\0\0\0\3\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"..., iov_len=144}, {iov_base="l\0\0\0type='signal', interface='or"..., iov_len=113}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 257
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=691520980}) = 0
poll([{fd=22, events=POLLIN}], 1, 25000) = 1 ([{fd=22, revents=POLLIN}])
recvmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\0\0\0\0\4\0\0\0005\0\0\0\6\1s\0\7\0\0\0:1.1507\0"..., iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 72
recvmsg(22, {msg_namelen=0}, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_REALTIME, {tv_sec=1644344029, tv_nsec=936221244}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=693221710}) = 0
sendmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1:\0\0\0\4\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"..., iov_len=144}, {iov_base="5\0\0\0type='signal', interface='or"..., iov_len=58}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 202
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=693845357}) = 0
poll([{fd=22, events=POLLIN}], 1, 25000) = 1 ([{fd=22, revents=POLLIN}])
recvmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\0\0\0\0\5\0\0\0005\0\0\0\6\1s\0\7\0\0\0:1.1507\0"..., iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 72
recvmsg(22, {msg_namelen=0}, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_REALTIME, {tv_sec=1644344029, tv_nsec=938566370}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=695608212}) = 0
sendmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1\0\0\0\0\5\0\0\0e\0\0\0\1\1o\0\1\0\0\0/\0\0\0\0\0\0\0"..., iov_len=120}, {iov_base="", iov_len=0}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 120
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=696233212}) = 0
poll([{fd=22, events=POLLIN}], 1, 25000) = 1 ([{fd=22, revents=POLLIN}])
recvmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\0\0\0\0\26/\0\0%\0\0\0\6\1s\0\7\0\0\0:1.1507\0"..., iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 56
recvmsg(22, {msg_namelen=0}, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_REALTIME, {tv_sec=1644344029, tv_nsec=941903184}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=698850922}) = 0
sendmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1\0\0\0\0\6\0\0\0n\0\0\0\1\1o\0\1\0\0\0/\0\0\0\0\0\0\0"..., iov_len=128}, {iov_base="", iov_len=0}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 128
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=699440776}) = 0
poll([{fd=22, events=POLLIN}], 1, 25000) = 1 ([{fd=22, revents=POLLIN}])
recvmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\4\0\0\0\27/\0\0-\0\0\0\6\1s\0\7\0\0\0:1.1507\0"..., iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 68
recvmsg(22, {msg_namelen=0}, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_REALTIME, {tv_sec=1644344029, tv_nsec=944483873}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=701424778}) = 0
sendmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1\0\0\0\0\7\0\0\0i\0\0\0\1\1o\0\1\0\0\0/\0\0\0\0\0\0\0"..., iov_len=128}, {iov_base="", iov_len=0}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 128
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8613, tv_nsec=701856486}) = 0
poll([{fd=22, events=POLLIN}], 1, 25000) = 1 ([{fd=22, revents=POLLIN}])
recvmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\4\0\0\0\30/\0\0-\0\0\0\6\1s\0\7\0\0\0:1.1507\0"..., iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 68
recvmsg(22, {msg_namelen=0}, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344030, tv_nsec=278040250}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: [INFO]-MDNS--"..., iov_len=68}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: [INFO]-MDNS----: Avahi client state changed to 2.
) = 69
send(3, "<14>Feb 8 18:13:50 otbr-agent[3"..., 88, MSG_NOSIGNAL) = 88
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344030, tv_nsec=279040251}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: [INFO]-MDNS--"..., iov_len=55}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: [INFO]-MDNS----: Avahi client ready.
) = 56
send(3, "<14>Feb 8 18:13:50 otbr-agent[3"..., 75, MSG_NOSIGNAL) = 75
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344030, tv_nsec=280040252}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: [INFO]-BA----"..., iov_len=92}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: [INFO]-BA------: Publish meshcop service eero_thread._meshcop._udp.local.
) = 93
send(3, "<14>Feb 8 18:13:50 otbr-agent[3"..., 112, MSG_NOSIGNAL) = 112
clock_gettime(CLOCK_REALTIME, {tv_sec=1644344030, tv_nsec=282578795}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8614, tv_nsec=39538803}) = 0
sendmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1\0\0\0\0\10\0\0\0n\0\0\0\1\1o\0\1\0\0\0/\0\0\0\0\0\0\0"..., iov_len=128}, {iov_base="", iov_len=0}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 128
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8614, tv_nsec=40065782}) = 0
poll([{fd=22, events=POLLIN}], 1, 25000) = 1 ([{fd=22, revents=POLLIN}])
recvmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\34\0\0\0\31/\0\0-\0\0\0\6\1s\0\7\0\0\0:1.1507\0"..., iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 92
recvmsg(22, {msg_namelen=0}, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_REALTIME, {tv_sec=1644344030, tv_nsec=285474984}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8614, tv_nsec=42419513}) = 0
sendmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1\0\0\0\0\t\0\0\0\201\0\0\0\1\1o\0\27\0\0\0/Client1"..., iov_len=152}, {iov_base="", iov_len=0}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 152
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8614, tv_nsec=42848534}) = 0
poll([{fd=22, events=POLLIN}], 1, 25000) = 1 ([{fd=22, revents=POLLIN}])
recvmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\4\0\0\0\32/\0\0-\0\0\0\6\1s\0\7\0\0\0:1.1507\0"..., iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 68
recvmsg(22, {msg_namelen=0}, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344030, tv_nsec=287040256}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: [INFO]-MDNS--"..., iov_len=66}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: [INFO]-MDNS----: Avahi group change to state 0.
) = 67
send(3, "<14>Feb 8 18:13:50 otbr-agent[3"..., 86, MSG_NOSIGNAL) = 86
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344030, tv_nsec=288040256}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: [INFO]-MDNS--"..., iov_len=95}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: [INFO]-MDNS----: Create service eero_thread._meshcop._udp for host localhost
) = 96
send(3, "<14>Feb 8 18:13:50 otbr-agent[3"..., 115, MSG_NOSIGNAL) = 115
clock_gettime(CLOCK_REALTIME, {tv_sec=1644344030, tv_nsec=290990904}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8614, tv_nsec=379675100}) = 0
sendmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1\310\0\0\0\n\0\0\0\231\0\0\0\1\1o\0\27\0\0\0/Client1"..., iov_len=176}, {iov_base="\377\377\377\377\377\377\377\377\0\0\0\0\v\0\0\0eero_thread\0\r\0\0\0"..., iov_len=200}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 376
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8614, tv_nsec=380275372}) = 0
poll([{fd=22, events=POLLIN}], 1, 25000) = 1 ([{fd=22, revents=POLLIN}])
recvmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\0\0\0\0\33/\0\0%\0\0\0\6\1s\0\7\0\0\0:1.1507\0"..., iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 56
recvmsg(22, {msg_namelen=0}, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344030, tv_nsec=625040448}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: [INFO]-MDNS--"..., iov_len=76}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: [INFO]-MDNS----: Commit service eero_thread._meshcop._udp
) = 77
send(3, "<14>Feb 8 18:13:50 otbr-agent[3"..., 96, MSG_NOSIGNAL) = 96
clock_gettime(CLOCK_REALTIME, {tv_sec=1644344030, tv_nsec=627024928}) = 0
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8614, tv_nsec=384064769}) = 0
sendmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1\0\0\0\0\v\0\0\0\177\0\0\0\1\1o\0\27\0\0\0/Client1"..., iov_len=144}, {iov_base="", iov_len=0}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 144
clock_gettime(CLOCK_MONOTONIC, {tv_sec=8614, tv_nsec=384570916}) = 0
poll([{fd=22, events=POLLIN}], 1, 25000) = 1 ([{fd=22, revents=POLLIN}])
recvmsg(22, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1&\0\0\0\34/\0\0\215\0\0\0\1\1o\0\27\0\0\0/Client1"..., iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 254
recvmsg(22, {msg_namelen=0}, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344030, tv_nsec=630040450}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: [INFO]-ADPROX"..., iov_len=66}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: [INFO]-ADPROXY-: Publish all hosts and services
) = 67
send(3, "<14>Feb 8 18:13:50 otbr-agent[3"..., 86, MSG_NOSIGNAL) = 86
clock_gettime(CLOCK_REALTIME_COARSE, {tv_sec=1644344030, tv_nsec=631040451}) = 0
getpid() = 32057
writev(2, [{iov_base="otbr-agent[32057]: [DEBG]-TrelDn"..., iov_len=59}, {iov_base="\n", iov_len=1}], 2otbr-agent[32057]: [DEBG]-TrelDns-: mDNS Publisher is Ready
) = 60
send(3, "<15>Feb 8 18:13:50 otbr-agent[3"..., 79, MSG_NOSIGNAL) = 79
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=NULL} ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 32 (32 by maintainers)
@simonlingoogle can confirm that change fixes the issue!
@gabekassel it looks like there isn’t much debug information. Can you add
-g -O0to your compile options? If you are building with CMake, you should add the options to https://github.com/openthread/ot-br-posix/blob/53a6ebba1d3ab72fdefd19bd2ef4cd7aa3eec15a/CMakeLists.txt#L64(remember to clean and rebuild freshly
Resolved