#!/usr/bin/env bash # #81 GHOST REPRO: two nodes, BOTH die, watch the respawn handshake. # # Looking for, on either node: # [dzreq] ... msgDeath= ourDeathCount= (the request side) # [dz] GRANTED / STALL (the drop zone's answer) # [ghost] DROP-ZONE REPLY DISCARDED (the silent-discard path) # [respawn] ... RESET at drop zone (success) # A node with a death cycle START and no RESET has reproduced the field ghost. set -x cd /c/git/bt411/content || exit 1 rm -f mp_a.log mp_b.log sed 's/^experience=expert/experience=novice/' MP.EGG > MPG.EGG # B first (listener), then A -- same order as the working mp_skate.sh BT_LOG=mp_b.log BT_AFFINITY=0x2 BT_MP_LOG=1 BT_SCORE_LOG=1 BT_DEATH_LOG=1 \ BT_TLOC_LOG=1 BT_SELF_DAMAGE=60 BT_SELF_DAMAGE_DELAY=40 BT_SELF_DAMAGE_REPEAT=1 \ ../build/Release/btl4.exe -egg MPG.EGG -net 1601 & sleep 2 BT_LOG=mp_a.log BT_AFFINITY=0x1 BT_MP_LOG=1 BT_SCORE_LOG=1 BT_DEATH_LOG=1 \ BT_TLOC_LOG=1 BT_SELF_DAMAGE=60 BT_SELF_DAMAGE_DELAY=55 BT_SELF_DAMAGE_REPEAT=1 \ ../build/Release/btl4.exe -egg MPG.EGG -net 1501 & sleep 4 python ../tools/btconsole.py MPG.EGG 127.0.0.1:1501 127.0.0.1:1601 & PC=$! sleep 175 kill $PC 2>/dev/null taskkill //F //IM btl4.exe 2>/dev/null rm -f MPG.EGG echo "=== DONE ==="