I have some additional hints.
When I run with 2 samples per symbol (the default)
./benchmark_loopback.py -s 20 -M 0.004 -S 2
ok = False pktno = 19 n_rcvd = 1 n_right = 0
ok = False pktno = 7 n_rcvd = 2 n_right = 0
ok = False pktno = 180 n_rcvd = 3 n_right = 0
......
Consistent with Dev
When I run with 4 samples per symbol
./benchmark_loopback.py -s 20 -M 0.004 -S 4
ok = False pktno = 2 n_rcvd = 1 n_right = 0
ok = True pktno = 3 n_rcvd = 2 n_right = 1
ok = False pktno = 6 n_rcvd = 3 n_right = 1
.....
So it is still broken but seems to perform "better" with 4 samples per
symbol. I have spent some time looking through all of the blocks and
looking through the .dat files with logging turned on. The data data looks
OK up until gr_mpsk_receiver_cc. I spent a good amount of time looking
through this file but I suspect the problem lies elsewhere because this file
does not seem to have changed other than comments since rev 5873
I will keep looking
Tim