DF-3991 / run.log
# DF-3991 run log โ ale_stop vs ale_tick AB-BA callout deadlock replica (mechanism PROOF) # Guest: DragonFly dfbsd 6.5-DEVELOPMENT #0 Thu Jul 2 06:02:54 UTC 2026 x86_64 (with-src snapshot) ## Session 1 (load + arm + stop in background): $ vm.sh run_root "kldload /root/kmod/alesink/ale_replica.ko && sysctl kern.alereplica.arm=1" kern.alereplica.arm: 0 -> 0 $ vm.sh run_root "(sysctl kern.alereplica.stop=1 &) ; sleep 8; dmesg | tail; ps ... | grep costp" (session truncated by the wedge) kern.alereplica.stop: 0 ## Session 2 (evidence readback): $ vm.sh run_root "dmesg | tail -8; ps -ax -o pid,stat,wchan,comm | grep -E \"costp|sysctl\"" hammer2: enable read/write HAMMER2: VOLDATA DUMP HAMMER2: INITIATE SPANs swap low/high-water marks set to 41940/62910 ale_replica: loaded (hz=100) ale_replica: armed ale_tick replica (non-mp callout, ticks hz/10) ale_replica: tick handler BLOCKED on our serializer (fired=73 ran=72) - entering callout_stop() ale_replica: IF THIS IS THE LAST ale_replica LINE, AB-BA DEADLOCK PROVEN (DF-3715 family / ale instance) === 1159 D2 costp sysctl ## Session 3 (30 seconds later โ permanence): $ sleep 30; vm.sh run_root "ps -ax -o pid,stat,wchan,comm | grep costp; echo STILL_WEDGED_AFTER_30S" 1159 D2 costp sysctl STILL_WEDGED_AFTER_30S ## Serial console (vm.sh log 40, captured BEFORE the reset โ same 4 lines): login: ale_replica: loaded (hz=100) ale_replica: armed ale_tick replica (non-mp callout, ticks hz/10) ale_replica: tick handler BLOCKED on our serializer (fired=73 ran=72) - entering callout_stop() ale_replica: IF THIS IS THE LAST ale_replica LINE, AB-BA DEADLOCK PROVEN (DF-3715 family / ale instance) ## Guest reset afterwards: vm.sh reset with-src -> up (clean snapshot, replica module gone)