DF-4236 / run.log
DF-4236 run.log — captured live on the audit guest with an emulated rtl8139
(launcher: dfbsd-qemu/vm_rl.sh; guest DragonFly 6.5-DEVELOPMENT #0 Thu Jul 2
06:02:54 UTC 2026, X86_64_GENERIC). Session output captured over ssh
(vm.sh run_root); timestamps preserved. Two churn sessions are shown:
session 1 (rl_live_test.sh: 300-cycle churn + probes) and session 2
(rl_repro.sh controlled repro + follow-up probes).
================ SESSION 1: attach + functional + 300-cycle churn =========
rl0: <RealTek 8139 10/100BaseTX> port 0xc000-0xc0ff mem 0xfebd2000-0xfebd20ff irq 11 at device 4.0 on pci0
miibus0: <MII bus> on rl0
rlphy0: <RealTek internal media interface> on miibus0
rl0: MAC address: 52:54:00:12:34:57
(ifconfig rl0 10.0.2.16/24 up; route add -host 10.0.2.3 -iface rl0; slirp
virtual DNS used as traffic target so the ssh default route via vtnet0 is
untouched.)
Functional traffic OK (small + EDNS0-1400 byte frames):
rl0 1500 <Link#2> 52:54:00:12:34:57 605 0 55115 611 0 42234 0
(Ipkts) (Ierrs) (Opkts) (Oerrs)
... 300 x (ifconfig rl0 down; ifconfig rl0 up) ...
DOWNUP_DONE
rl0: watchdog timeout <-- dmesg tail after the churn
rl0: watchdog timeout
rl0: watchdog timeout
rl0: watchdog timeout
rl0: watchdog timeout
+ nslookup -timeout=5 dragonflybsd.org 10.0.2.3
;; communications error to 10.0.2.3#53: timed out x3
FINAL_SANITY rc=1 <-- ~30 s hard TX stall (self-healed later)
================ SESSION 2: controlled repro =========
=== STATE ===
Fri Sep 18 21:37:11 UTC 2026
route to: 10.0.2.3 -- interface: rl0 (route present)
PRE_RC=0 <-- traffic works before churn
rl0 ... 615 ipkts / 620 opkts / 6 oerrs
=== CHURN 300 ===
CHURN_DONE
( probe after churn, no route touch )
route to: 10.0.2.3 -- interface: rl0 (route survived this time)
POST1_RC=0 <-- traffic still flows...
rl0 ... 618 ipkts / 621 opkts / 10 oerrs <-- ...but 4 MORE oerrors
rl0: watchdog timeout x3 (new)
( re-add route + probe )
add host 10.0.2.3: gateway rl0
POST2_RC=0
rl0 ... 623 ipkts / 626 opkts / 11 oerrs
rl0: watchdog timeout x2 (new)
Fri Sep 18 21:38:21 UTC 2026
================ SESSION 3: promisc/media/multicast/BPF =========
ifconfig rl0 promisc; media 10baseT/UTP -> ok, media restored
tcpdump on rl0 saw the DNS exchange (4 packets captured), incl. retransmits
4 s apart (missed TX completions):
21:38:55.555964 IP 10.0.2.16.2982 > 10.0.2.3.53: 33184+ A? localhost. (27)
21:38:59.564760 IP 10.0.2.16.4434 > 10.0.2.3.53: 33184+ A? localhost. (27)
21:39:03.574742 IP 10.0.2.16.2346 > 10.0.2.3.53: 33184+ A? localhost. (27)
21:39:03.741243 IP 10.0.2.3.53 > 10.0.2.16.2346: 33184* 1/0/0 A 127.0.0.1 (43)
================ FINAL STATE =========
netstat -I rl0 -b: 627 Ipkts / 0 Ierrs / 628 Opkts / 11 Oerrs / 11 watchdogs
dmesg: "rl0: watchdog timeout" x 11 total across the two churn sessions
/var/log/messages:
Sep 18 21:37:25 dfbsd kernel: rl0: watchdog timeout
Sep 18 21:38:16 dfbsd kernel: last message repeated 4 times
No panic, no corruption, guest stayed up throughout; TX always recovered
(via the watchdog-driven rl_init, or a later ifconfig cycle).