Pre move:-
[d] 8/4k3/1r6/p5RP/1b1pp3/3p2P1/5P2/1R4K1 w - - 0 61
Post move:-
http://op12no2.me/stuff/l1.jpg
http://op12no2.me/stuff/l2.jpg
As you can see, after Lozza played Rg7+ it all went to pot and for good reason.
If I send exactly the same UCI command (highlighted above from the Arena debug log) to Lozza in isolation (i.e. not in a game) - it finds Rd5 (same as Stockfish).

So how the hell do you track things like that down. I'm guessing it's probably a TT bug. All I can think of is add a whole wodge of assert()s and try and catch inconsistency. I cannot think how to replicate it (*).
The TT is very simple: always replace.
If anybody is interested the source is here: http://op12no2.me/toys/lozzadev/lozza.js
It's a very simple engine and the TT stuff is in ttPut() and ttGet().
Any insights/advice gratefully received...
(*)Ah - send all the go commands up to that move as well...?
