Node setup with -debug, and binary not stripped for debugging. Code changes include everything in TRB Vtree, + 'mod6_getdata_blocks_wrangler.vpatch'. Also added this small bit of debugging code to EndMessage in net.h: if (addr.IsLocal()) { printf("XXX: From Local\n"); //printf("XXX: vSend Size from TXs: %zu = (%zu - (%zu + %zu))\n", vSend.size(), vSend.end(), vSend.begin(), nMessageStart); printf("XXX: vSend Size from TXs (hex): %zx = (%zx - (%zx + %zx))\n", vSend.size(), vSend.end(), vSend.begin(), nMessageStart); printf("XXX: vSend Size from TXs (dec): %zu = (%zu - (%zu + %zu))\n", vSend.size(), vSend.end(), vSend.begin(), nMessageStart); if ((vSend.end() - (vSend.begin() + nMessageStart)) >= 0x10000) { printf("Size large: %zu = (%zu - (%zu + %zu))\n", (vSend.end() - (vSend.begin() + nMessageStart)), vSend.end(), vSend.begin(), nMessageStart); } if ((vSend.end() - (vSend.begin() + nMessageStart)) >= 0x100000000) { printf("Size wedge: %zu = (%zu - (%zu + %zu))\n", (vSend.end() - (vSend.begin() + nMessageStart)), vSend.end(), vSend.begin(), nMessageStart); } } As well as in the 'getdata' section for TX's in main.cpp: else if (inv.IsKnownType()) { // Send stream from relay memory CRITICAL_BLOCK(cs_mapRelay) { map::iterator mi = mapRelay.find(inv); if (mi != mapRelay.end()) { if (pfrom->addr.IsLocal()) { printf("XXX (main.cpp): CDataStream Size: %zu | %zx\n", (*mi).second.size(), (*mi).second.size()); } pfrom->PushMessage(inv.GetCommand(), (*mi).second); } } } ---------------------------------------------------------------------- The node is up and running with 19 connections, and upthrough block: 622920 Current Time: Wed Mar 25 17:32:35 CDT 2020 Same test as 'mod6_wedger_tx_test1.log', with just the added single printf statement. (See above). mod6@localhost ~/wedge_logs/wedger $ cat loadtx.sh #!/bin/bash TXARR=(); TXARR=( $(grep --max-count=49999 "AcceptToMemoryPool" ~/.bitcoin/debug.log | sort -r | awk '{print $3}' | sed '/:/d') ); SZ=${#TXARR[@]} TOTAL=1; for ((i=$SZ; i < 49999; i+=$SZ)) do for ((j=0; j < $SZ; j++)) do echo "$TOTAL ${TXARR[j]}"; let TOTAL=TOTAL+1 done done mod6@localhost ~/wedge_logs/wedger $ TXARR=( $(grep --max-count=49999 "AcceptToMemoryPool" ~/.bitcoin/debug.log | sort -r | awk '{print $3}' | sed '/:/d') ); SZ=${#TXARR[@]}; echo "$SZ" 12252 mod6@localhost ~/wedge_logs/wedger $ ./loadtx.sh > snap_tx_49999.txt mod6@localhost ~/wedge_logs/wedger $ wc -l snap_tx_49999.txt 49008 snap_tx_49999.txt mod6@localhost ~/wedge_logs/wedger $ ./wedger.py tx 127.0.0.1 8333 snap_tx_49999.txt > wedger_tx_20200324.log & [1] 19966 mod6@localhost ~/wedge_logs/wedger $ ... ########################################### ########################################### ########################################### ########################################### mod6@localhost ~/wedge_logs/wedger $ grep "'tx'" wedger_tx_20200325.log | wc -l 1048 mod6@localhost ~/wedge_logs/wedger $ BYTES=$( (grep "'tx'" wedger_tx_20200325.log | awk '{print $4}') ); TOTAL=0; for i in ${BYTES[@]}; do let TOTAL=$i+TOTAL; done; echo "Total: $TOTAL"; Total: 379576 mod6@localhost ~/wedge_logs/wedger $ mod6@localhost ~/.bitcoin $ cat ~/.bitcoin/debug.log | grep "XXX: vSend Size from TXs (hex)" | wc -l 2536 mod6@localhost ~/.bitcoin $ cat ~/.bitcoin/debug.log | grep "CDataStream" | wc -l 1048 mod6@localhost ~/wedge_logs $ VSEND_EM_DEC_SZ_ARR=$( (grep "XXX: vSend Size from TXs (dec):" trb_debug_wedger_tx_test3.log | awk '{print $7}') ); TOTAL=0; for i in ${VSEND_EM_DEC_SZ_ARR[@]}; do let TOTAL=$i+TOTAL; done; echo "Total Bytes from vSEnd in EndMessage: $TOTAL" Total Bytes from vSEnd in EndMessage: 5606242 mod6@localhost ~/wedge_logs $ CDS_DEC_SZ_ARR=$( (grep "XXX (main.cpp): CDataStream Size" trb_debug_wedger_tx_test3.log | awk '{print $5}') ); TOTAL=0; for i in ${CDS_DEC_SZ_ARR[@]}; do let TOTAL=$i+TOTAL; done; echo "Total Bytes Sent in ProcessMessage:getdata tx condition: $TOTAL"; Total Bytes Sent in ProcessMessage:getdata tx condition: 379576 Finished. mod6@localhost ~/wedge_logs/wedger $ [1]+ Done ./wedger.py tx 127.0.0.1 8333 snap_tx_49999.txt > wedger_tx_20200325.log It certainly did not wedge. Node is responding to RPC commands, is up-to-date with 622932 blocks, and 22 connections. A bit more analysis needs to be done. Saving the log file to 'trb_debug_wedger_tx_test3.log'.