DF-2426 / run_fixed.sh
#!/bin/sh # DF-2426 fixed-kernel A/B run (after make_fixed.sh): the same # triggers that panicked the baseline kernel must now complete. # control -> CAM_REQ_CMP 64/32/100 (unchanged behavior) # trigger0 -> no trap; CAM_REQ_CMP_ERR from cam_calc_geometry # trigger2 -> no trap; CAM_REQ_CMP_ERR from cam_calc_geometry set -e VM=/home/maxx/dfbsd/dfbsd/dfbsd-qemu/vm.sh cd "$(dirname "$0")" $VM status echo '=== FIXED: DF-2426 control (block_size=512) ===' timeout 60 $VM run_root 'sysctl debug.df2426.control=1' \ > run_fixed_control.log 2>&1 || true cat run_fixed_control.log echo '=== FIXED: DF-2426 trigger0 (block_size=0) -- expect NO panic ===' timeout 40 $VM run_root 'sysctl debug.df2426.trigger0=1' \ > run_fixed_trigger0.log 2>&1 || true cat run_fixed_trigger0.log || true echo '=== FIXED: DF-2426 trigger2 (block_size=2MiB) -- expect NO panic ===' timeout 40 $VM run_root 'sysctl debug.df2426.trigger_big=1' \ > run_fixed_trigger_big.log 2>&1 || true cat run_fixed_trigger_big.log || true $VM run_root 'dmesg | tail -60' > run_fixed_dmesg.log 2>&1 || true grep -E "DFH:|Fatal trap" run_fixed_dmesg.log | tail -30 || true if ! grep -q "DF-2426 trigger" run_fixed_dmesg.log; then echo "EVIDENCE MISSING: dmesg has no trigger output (guest down?)" exit 1 fi if grep -q "^Fatal trap" run_fixed_dmesg.log; then echo "STILL PANICS ON FIXED KERNEL" exit 1 fi echo 'FIXED RUN OK: no trap, CAM_REQ_CMP_ERR returned' |