nbd168 / bridger

19 stars 5 forks source link

Segfault on Latest Openwrt Snap #2

Open jww-cw opened 1 year ago

jww-cw commented 1 year ago

I am unable to start the bridger service

root@aphouse:/sys# /etc/init.d/bridger start
Command failed: Not found
root@aphouse:/sys#
root@aphouse:/sys# /usr/sbin/bridger
libbpf: loading /lib/bpf/bridger-bpf.o
libbpf: elf: section(3) tc, size 1344, link 0, flags 6, type=1
libbpf: sec 'tc': found program 'bridger_input' at insn offset 0 (0 bytes), code size 168 insns (1344 bytes)
libbpf: elf: section(4) .reltc, size 48, link 11, flags 40, type=9
libbpf: elf: section(5) license, size 4, link 0, flags 3, type=1
libbpf: license of /lib/bpf/bridger-bpf.o is GPL
libbpf: elf: section(6) .maps, size 88, link 0, flags 3, type=1
libbpf: elf: section(7) .BTF, size 3811, link 0, flags 0, type=1
libbpf: elf: section(9) .BTF.ext, size 1200, link 0, flags 0, type=1
libbpf: elf: section(11) .symtab, size 456, link 1, flags 0, type=2
libbpf: looking for externs among 19 symbols...
libbpf: collected 0 externs total
libbpf: map 'pending_flows': at sec_idx 6, offset 0.
libbpf: map 'pending_flows': found type = 9.
libbpf: map 'pending_flows': found key [8], sz = 20.
libbpf: map 'pending_flows': found value [23], sz = 8.
libbpf: map 'pending_flows': found max_entries = 32.
libbpf: map 'pending_flows': found pinning = 1.
libbpf: map 'offload_flows': at sec_idx 6, offset 40.
libbpf: map 'offload_flows': found type = 1.
libbpf: map 'offload_flows': found key [8], sz = 20.
libbpf: map 'offload_flows': found value [33], sz = 16.
libbpf: map 'offload_flows': found max_entries = 256.
libbpf: map 'offload_flows': found map_flags = 0x1.
libbpf: map 'offload_flows': found pinning = 1.
libbpf: sec '.reltc': collecting relocation for section(3) 'tc'
libbpf: sec '.reltc': relo #0: insn #100 against 'offload_flows'
libbpf: prog 'bridger_input': found map 1 (offload_flows, sec 6, off 40) for insn #100
libbpf: sec '.reltc': relo #1: insn #150 against 'pending_flows'
libbpf: prog 'bridger_input': found map 0 (pending_flows, sec 6, off 0) for insn #150
libbpf: sec '.reltc': relo #2: insn #162 against 'pending_flows'
libbpf: prog 'bridger_input': found map 0 (pending_flows, sec 6, off 0) for insn #162
libbpf: found no pinned map to reuse at '/sys/fs/bpf/bridger_data/pending_flows'
libbpf: map 'pending_flows': created successfully, fd=7
libbpf: pinned map '/sys/fs/bpf/bridger_data/pending_flows'
libbpf: found no pinned map to reuse at '/sys/fs/bpf/bridger_data/offload_flows'
libbpf: map 'offload_flows': created successfully, fd=8
libbpf: pinned map '/sys/fs/bpf/bridger_data/offload_flows'
Segmentation fault
root@aphouse:/sys#
root@aphouse:/sys# uname -a
Linux aphouse 5.15.86 #0 SMP Thu Jan 5 22:09:23 2023 aarch64 GNU/Linux
root@aphouse:/sys# opkg list-installed
adblock - 4.1.5-4
attendedsysupgrade-common - 8
auc - 0.3.2-1
base-files - 1512-r21682-720b243171
bcp38 - 5-11
bridger - 2023-01-03-978c1f9e
busybox - 1.35.0-5
ca-bundle - 20211016-1
cgi-io - 2022-08-10-901b0f04-21
collectd - 5.12.0-41
collectd-mod-cpu - 5.12.0-41
collectd-mod-interface - 5.12.0-41
collectd-mod-iwinfo - 5.12.0-41
collectd-mod-load - 5.12.0-41
collectd-mod-memory - 5.12.0-41
collectd-mod-network - 5.12.0-41
collectd-mod-ping - 5.12.0-41
collectd-mod-rrdtool - 5.12.0-41
collectd-mod-thermal - 5.12.0-41
coreutils - 9.1-1
coreutils-sort - 9.1-1
curl - 7.86.0-3
dawn - 2022-07-24-9e8060ea-1
ddns-scripts - 2.8.2-30
ddns-scripts-services - 2.8.2-30
dnsmasq-full - 2.88-1
dropbear - 2022.82-2
firewall4 - 2022-11-29-700a925f-2
fstools - 2022-11-10-3affe9ea-2
fuse-utils - 2.9.9-2
fuse3-utils - 3.10.5-2
fwtool - 2019-11-12-8f7fe925-1
getrandom - 2022-08-13-4c7b720b-2
glib2 - 2.74.0-2
hostapd-common - 2022-07-29-b704dc72-17.2
htop - 3.2.1-1
iperf3 - 3.12-1
irqbalance - 1.9.2-1
iw - 5.19-1
iwinfo - 2022-12-15-8d158096-1
jansson4 - 2.14-3
jshn - 2022-09-27-ea560134-1
jsonfilter - 2018-02-04-c7e938d6-1
kernel - 5.15.86-1-5aa725360daf952d40198ec5220d6698
kmod-cfg80211 - 5.15.86+6.1-rc8-2
kmod-crypto-aead - 5.15.86-1
kmod-crypto-ccm - 5.15.86-1
kmod-crypto-cmac - 5.15.86-1
kmod-crypto-crc32c - 5.15.86-1
kmod-crypto-ctr - 5.15.86-1
kmod-crypto-gcm - 5.15.86-1
kmod-crypto-gf128 - 5.15.86-1
kmod-crypto-ghash - 5.15.86-1
kmod-crypto-hash - 5.15.86-1
kmod-crypto-hmac - 5.15.86-1
kmod-crypto-kpp - 5.15.86-1
kmod-crypto-lib-chacha20 - 5.15.86-1
kmod-crypto-lib-chacha20poly1305 - 5.15.86-1
kmod-crypto-lib-curve25519 - 5.15.86-1
kmod-crypto-lib-poly1305 - 5.15.86-1
kmod-crypto-manager - 5.15.86-1
kmod-crypto-null - 5.15.86-1
kmod-crypto-rng - 5.15.86-1
kmod-crypto-seqiv - 5.15.86-1
kmod-crypto-sha256 - 5.15.86-1
kmod-fuse - 5.15.86-1
kmod-gpio-button-hotplug - 5.15.86-3
kmod-hwmon-core - 5.15.86-1
kmod-leds-gpio - 5.15.86-1
kmod-lib-crc-ccitt - 5.15.86-1
kmod-lib-crc32c - 5.15.86-1
kmod-mac80211 - 5.15.86+6.1-rc8-2
kmod-mt76-connac - 5.15.86+2022-12-22-5b509e80-5
kmod-mt76-core - 5.15.86+2022-12-22-5b509e80-5
kmod-mt7615-common - 5.15.86+2022-12-22-5b509e80-5
kmod-mt7615-firmware - 5.15.86+2022-12-22-5b509e80-5
kmod-mt7615e - 5.15.86+2022-12-22-5b509e80-5
kmod-mt7915e - 5.15.86+2022-12-22-5b509e80-5
kmod-nf-conntrack - 5.15.86-1
kmod-nf-conntrack-netlink - 5.15.86-1
kmod-nf-conntrack6 - 5.15.86-1
kmod-nf-flow - 5.15.86-1
kmod-nf-log - 5.15.86-1
kmod-nf-log6 - 5.15.86-1
kmod-nf-nat - 5.15.86-1
kmod-nf-reject - 5.15.86-1
kmod-nf-reject6 - 5.15.86-1
kmod-nfnetlink - 5.15.86-1
kmod-nft-core - 5.15.86-1
kmod-nft-fib - 5.15.86-1
kmod-nft-nat - 5.15.86-1
kmod-nft-offload - 5.15.86-1
kmod-ppp - 5.15.86-1
kmod-pppoe - 5.15.86-1
kmod-pppox - 5.15.86-1
kmod-sched-act-vlan - 5.15.86-1
kmod-sched-bpf - 5.15.86-1
kmod-sched-core - 5.15.86-1
kmod-sched-flower - 5.15.86-1
kmod-slhc - 5.15.86-1
kmod-thermal - 5.15.86-1
kmod-udptunnel4 - 5.15.86-1
kmod-udptunnel6 - 5.15.86-1
kmod-wireguard - 5.15.86-1
libattr - 2.5.1-1
libblobmsg-json20220927 - 2022-09-27-ea560134-1
libbpf20220308 - 2022-03-08-04c465fd-1
libc - 1.2.3-4
libcap-ng - 0.8.3-1
libcurl4 - 7.86.0-3
libelf1 - 0.188-1
libffi - 3.4.2-2
libfuse1 - 2.9.9-2
libfuse3-3 - 3.10.5-2
libgcc1 - 11.3.0-4
libgcrypt - 1.10.1-1
libgmp10 - 6.2.1-1
libgpg-error - 1.46-3
libiperf3 - 3.12-1
libiwinfo-data - 2022-12-15-8d158096-1
libiwinfo20210430 - 2022-12-15-8d158096-1
libjson-c5 - 0.16-2
libjson-script20220927 - 2022-09-27-ea560134-1
libltdl7 - 2.4.7-1
liblua5.1.5 - 5.1.5-10
liblucihttp-lua - 2022-07-08-6e68a106-1
liblucihttp-ucode - 2022-07-08-6e68a106-1
liblucihttp0 - 2022-07-08-6e68a106-1
libmbedtls12 - 2.28.2-1
libmnl0 - 1.0.5-1
libncurses6 - 6.4-1
libnetfilter-conntrack3 - 1.0.9-2
libnettle8 - 3.8.1-2
libnfnetlink0 - 1.0.2-1
libnftnl11 - 1.2.4-1
libnghttp2-14 - 1.44.0-1
libnl-tiny2022-11-01 - 2022-11-01-db3b2cdb-1
liboping - 1.10.0-3
libpcap1 - 1.10.1-5
libpcre2 - 10.37-2
libpthread - 1.2.3-4
librrd1 - 1.0.50-5
librt - 1.2.3-4
libubox20220927 - 2022-09-27-ea560134-1
libubus-lua - 2022-06-01-2bebf93c-1
libubus20220601 - 2022-06-01-2bebf93c-1
libuci20130104 - 2021-10-22-f84f49f0-6
libuclient20201210 - 2021-05-14-6a6011df-1
libucode20220812 - 2022-12-02-46d93c9c-1
libustream-wolfssl20201210 - 2022-12-08-9217ab46-2
libuuid1 - 2.38-2
libwolfssl5.5.4.e624513f - 5.5.4-stable-1
logd - 2022-08-13-4c7b720b-2
lua - 5.1.5-10
luci - git-22.297.83017-0143ef2
luci-app-adblock - git-22.291.47802-79cbbc0
luci-app-attendedsysupgrade - git-22.285.67526-18bfcca
luci-app-bcp38 - git-20.108.38431-8f34e10
luci-app-commands - git-22.299.76611-9d8feac
luci-app-dawn - git-22.270.27015-88bb5f3
luci-app-ddns - git-22.297.83017-036424d
luci-app-firewall - git-22.089.67453-0eb3aeb
luci-app-opkg - git-22.273.28779-84ba6a5
luci-app-statistics - git-22.363.36709-d9e548f
luci-app-upnp - git-22.297.83017-2877753
luci-base - git-22.361.69865-deed682
luci-compat - git-22.297.83017-673f382
luci-lib-base - git-22.308.54612-9118452
luci-lib-ip - git-20.250.76529-62505bd
luci-lib-json - git-18.184.37844-cde13dc
luci-lib-jsonc - git-22.079.54693-45f411b
luci-lib-nixio - git-22.222.71555-88b9088
luci-lua-runtime - git-22.325.41248-fa17c15
luci-mod-admin-full - git-19.253.48496-3f93650
luci-mod-network - git-23.005.74128-8414f91
luci-mod-status - git-22.364.46313-a18b1a6
luci-mod-system - git-22.297.83017-f478fe6
luci-proto-ipv6 - git-21.148.48881-79947af
luci-proto-ppp - git-21.158.38888-88b9d84
luci-proto-wireguard - git-22.339.34491-785792a
luci-theme-bootstrap - git-22.297.83017-2e3282e
miniupnpd-nftables - 2022-08-31-68c8ec50-1
mtd - 26
mtr-json - 0.95-2
nano - 7.1-1
ncdu - 1.17-1
netifd - 2022-12-30-81c1fbcb-1
nftables-json - 1.0.5-2
odhcp6c - 2022-08-05-7d21e8d8-19
openwrt-keyring - 2022-03-25-62471e69-2
opkg - 2022-02-24-d038e5b6-1
ppp - 2.4.9.git-2021-01-04-4
ppp-mod-pppoe - 2.4.9.git-2021-01-04-4
procd - 2022-11-10-039b88f7-3
procd-seccomp - 2022-11-10-039b88f7-3
procd-ujail - 2022-11-10-039b88f7-3
rpcd - 2022-12-15-7de4820c-1
rpcd-mod-file - 2022-12-15-7de4820c-1
rpcd-mod-iwinfo - 2022-12-15-7de4820c-1
rpcd-mod-luci - 20210614
rpcd-mod-rpcsys - 2022-12-15-7de4820c-1
rpcd-mod-rrdns - 20170710
rpcd-mod-ucode - 2022-12-15-7de4820c-1
rrdtool1 - 1.0.50-5
screen - 4.8.0-2
sshfs - 3.7.2-3
tcpdump-mini - 4.99.1-1
terminfo - 6.4-1
ubi-utils - 2.1.5-1
uboot-envtools - 2022.10-17
ubox - 2022-08-13-4c7b720b-2
ubus - 2022-06-01-2bebf93c-1
ubusd - 2022-06-01-2bebf93c-1
uci - 2021-10-22-f84f49f0-6
uclient-fetch - 2021-05-14-6a6011df-1
ucode - 2022-12-02-46d93c9c-1
ucode-mod-fs - 2022-12-02-46d93c9c-1
ucode-mod-html - 1
ucode-mod-lua - 1
ucode-mod-math - 2022-12-02-46d93c9c-1
ucode-mod-ubus - 2022-12-02-46d93c9c-1
ucode-mod-uci - 2022-12-02-46d93c9c-1
uhttpd - 2022-10-31-23977554-1
uhttpd-mod-ubus - 2022-10-31-23977554-1
umdns - 2021-05-13-b777a0b5-5
urandom-seed - 3
urngd - 2020-01-21-c7f7b6b6-1
usign - 2020-05-23-f1f65026-1
wireguard-tools - 1.0.20210914-1
wireless-regdb - 2022.08.12-1
wpad-wolfssl - 2022-07-29-b704dc72-17.2
zlib - 1.2.13-1
root@aphouse:/sys#
schuettecarsten commented 1 year ago

I can confirm the segfault error on my Belkin 3200 device with latest OpenWRT snapshot builds.

airend commented 1 year ago

It's caused by the recently added support for the port isolated flag (commit 978c1f9eed07504cc0b84f72ee7384aab722386a). Maybe it's missing a check in flow.c. Either way, it happens regardless of WED support (same crash on mt7621/mt7615). I just reverted that commit for now.

airend commented 1 year ago

I am unable to start the bridger service


root@aphouse:/sys# /etc/init.d/bridger start
Command failed: Not found

@jww-cw, @schuettecarsten, it's fixed in 8be8bb9df789b53a68f08298f610648ebded6063 (https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=83d3e255f1cc7ca59e51f02857cef2e004d946dc).

schuettecarsten commented 1 year ago

@airend yep, it's fixed.