DF-2928 / run.3.log
# DF-2928 run.3.log โ runs 1 and 2 (independent confirmations, 2026-09-03)
## Run 1 (T0=14:33:24, INVARIANTS kernel, DDB default on panic)
$ vm.sh run_root 'date; nohup sh -c "sysctl -w debug.spin_lock_test=1" > /tmp/spintest.log 2>&1 & sleep 1; date; echo fired'
Thu Sep 3 14:33:23 UTC 2026
[ssh channel hangs: sysctl blocks in-kernel; "fired" never printed]
[180s host timeout; ~14:34:24 = T0+60s the kernel panicked]
$ vm.sh status
down
$ vm.sh down
guest not answering (likely DDB on panic); killing qemu pid 2896845
down
# after next boot: /var/crash empty ("No core dumps found") โ the panicking
# thread held 2 spinlocks + crit section; DDB never completed the dump.
## Run 2 (T0=14:47:00, debug.debugger_on_panic=0 set first โ still panics)
$ vm.sh run_root 'sysctl -w debug.debugger_on_panic=0; sysctl -n debug.lock_test_mode; dmesg -c >/dev/null; date; nohup sh -c "sysctl -w debug.spin_lock_test=1" </dev/null >/tmp/spinb.log 2>&1 & sleep 2; echo launched; cat /tmp/spinb.log; date'
debug.debugger_on_panic: 1 -> 0
0
Thu Sep 3 14:47:00 UTC 2026
[channel hangs again]
[T0+60s = 14:48:00: panic; guest unresponsive; QEMU alive, dump path wedged,
never rebooted โ killed after ~8 min]
$ vm.sh down
guest not answering (likely DDB on panic); killing qemu pid 2909312
down
## Control attempt (lock_test_mode=1 globally) โ NOT part of the finding:
# setting debug.lock_test_mode=1 makes indefinite_check() break ANY lock type
# contended >1s (mutex/lock/token included), destabilizing the whole kernel;
# that run also died. This is the knob's documented debug nature, and the
# reason the spinlock test needs its own (dead) flag restored instead.