โฌข DragonFlyBSD Kernel Audit
DF-5532 / run.spin.log
โ† back to finding โ†“ download raw
# DF-5532 extreme variant โ€” churn_ticks=0 (spin mode, first harness build)
# Every callback is INSTANT (no sleep): pure self-requeue.
# ---------------------------------------------------------------------------'
# T+1s after kldload:
kern.dfstarv.report: started_ms=1791334525529 victim_ran=0 victim_ran_ms=0 churn_count=46141778 waiter_done=0 waiter_woke_ms=0 now_ms=1791334526529 starve_ms=-1
# (46,141,778 callbacks in the first second; the waiter never even got
#  the lock to queue the victim โ€” it starved inside lockmgr; `ps` on the
#  guest starved as well; the ssh command hit the 120s tool timeout.)

# ~200s later (guest still up at serial console, ssh dead):
kern.dfstarv.report: started_ms=1791334525529 victim_ran=0 victim_ran_ms=0 churn_count=8945916268 waiter_done=0 waiter_woke_ms=0 now_ms=1791334710641 starve_ms=-1
# 8,945,916,268 callbacks โ€” the usb_process thread at TDPRI_INT_MED
# monopolized its CPU and the usb bus lock; userland (sshd) starved.

# after sysctl kern.dfstarv.stop=1:
 -> kern.dfstarv.report: started_ms=1791334525529 victim_ran=1 victim_ran_ms=1791334727113 churn_count=9731507200 waiter_done=1 waiter_woke_ms=1791334727113 now_ms=1791334728121 starve_ms=0
# The moment the queue could empty, victim ran and the waiter woke in
# the SAME millisecond โ€” total starvation window 201,584 ms, of which
# 274.6s was post-load uninterruptible monopolization.
# Guest sshd had been starved to death; guest was reset afterwards.
#
# Serial console during the wedge (dfbsd-qemu/boot.log tail):
#   login: dfharness: loaded; churn running, waiter in usb_proc_mwait
#   dfharness: loaded; churn running, waiter in usb_proc_mwait
# (no panic โ€” pure starvation wedge)