DF-3194 / run3.sh
#!/bin/sh # DF-3194 run3.sh - amplified reproduction attempt (root) # - deeper bucket already populated from the prior run (no re-fill) # - memory pressure (memhog) makes nfs_nget's creation-phase M_WAITOK # allocations block mid-create, the deterministic stale-view setup # - loopback UDP flood for netisr preemption bursts # usage: run3.sh [rounds] [start_idx] set -e cd /root/df3194 pkill -f fakesrv_race 2>/dev/null || true pkill -f udp_flood 2>/dev/null || true pkill -f memhog 2>/dev/null || true sleep 0.3 umount -f /mnt 2>/dev/null || true (./fakesrv_race > /tmp/fakesrv3194.log 2>&1 &) i=0 while ! grep -q ready /tmp/fakesrv3194.log 2>/dev/null; do sleep 2 i=$((i+1)) [ $i -gt 300 ] && { echo "server startup timeout"; exit 1; } done echo SERVER_READY mount_nfs -o port=2049,udp 127.0.0.1:/P /mnt echo MOUNT_OK (./udp_flood > /dev/null 2>&1 &) (./udp_flood > /dev/null 2>&1 &) (./memhog > /dev/null 2>&1 &) (./memhog > /dev/null 2>&1 &) echo AMPLIFIERS_ON ./race_trigger ${1:-24000} ${2:-76000} echo "TRIGGER_RC=$? (reaching this line means no panic)" |