#!/bin/bash for i in $(seq 1 100); do seed=$RANDOM echo "Attempt $i with seed $seed..." >&2 gdb -batch -ex 'set pagination off' \ -ex 'set print pretty on' \ -ex "run 100000 512 $seed" \ -ex 'bt full' \ -ex 'info registers' \ -ex 'info threads' \ -ex 'thread apply all bt' \ -ex 'x/32xg $rsp' \ -ex 'disassemble $pc-32,$pc+32' \ -ex 'quit' \ ./bench_random_mixed_hakmem > /tmp/gdb_out_$i.log 2>&1 if grep -q "signal SIG" /tmp/gdb_out_$i.log; then echo "CRASH CAPTURED on attempt $i with seed $seed!" >&2 cp /tmp/gdb_out_$i.log gdb_crash_full.log exit 0 fi done echo "No crash found in 100 attempts" >&2 exit 1