Date: Thu, 19 Feb 2026 02:55:50 +0000 From: bugzilla-noreply@freebsd.org To: testing@FreeBSD.org Subject: [Bug 293241] sys/netpfil/ipfw/log:bpf test fails intermittently in CI Message-ID: <bug-293241-32464-hiHVf6TRzK@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-293241-32464@https.bugs.freebsd.org/bugzilla/>
index | next in thread | previous in thread | raw e-mail
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293241 --- Comment #3 from commit-hook@FreeBSD.org --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=38edf96b1787ce3d8c00e4466348dab891c7a9ea commit 38edf96b1787ce3d8c00e4466348dab891c7a9ea Author: Gleb Smirnoff <glebius@FreeBSD.org> AuthorDate: 2026-02-19 02:39:00 +0000 Commit: Gleb Smirnoff <glebius@FreeBSD.org> CommitDate: 2026-02-19 02:53:16 +0000 tests/ipfw: fix log:bpf test flakyness There were several problems: o Using 'netstat -B' is not a reliable way to make sure that all tcpdumps have attached to bpf(4). The problem is that tcpdump (via libpcap) does several ioctl(2)s after the attach including two BIOCSETF. Each of them flushes the input buffer. So we can see tcpdump attached in 'netstat -B' and start sending packets and the packet will be captured by bpf(4) before BIOCSETF and freed and tcpdump won't read anything. Instead of using netstat(1), use ps(1) and make sure each tcpdump is blocked on the "bpf" wait channel, which guarantees it is done with ioctl(2)s and is now blocked in read(2). o Using 'nc -w 0' sets timeout not only on the connect(2) (as documented) but also on poll(2), which is not documented. There is a race in shell that will make stdin not yet filled by 'echo foo' when nc(1) does poll(2). With zero timeout, this poll(2) will immediately return and nc will exit. o The waiting loop had two errors: using wrong variable name as well as invoking a subshell, that actually can't wait on the pid. o The reading tcpdump was lacking '-q' option, that prevents any protocol interpretations. Sometimes, when random port chosen by nc(1) would match some well-known (to tcpdump) port, the output would differ from the expected. PR: 293241 tests/sys/netpfil/ipfw/log.sh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) -- You are receiving this mail because: You are on the CC list for the bug.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-293241-32464-hiHVf6TRzK>
