I understand all that. I realize that games with multi-step combos can be prone to bugs. I help read and sort and categorize bugs every day on the Terraforming Mars forum. Cards can have multiple discounts, rebates, interactions for multiple players. Writing code to handle all these situations, some of them rather elaborate, can be difficult to do in a way that covers all edge-cases.
But that's not what we're talking about here. We're talking a game somehow losing track of whose turn it is.
A game that fails to change the "player_Turn" variable after a completed turn would probably not make it out of Alpha. I mean, we're talking about something that happens after literally every turn. One person makes a move, then the next person gets a turn.
Again, I will reference the game log:
5:04 PM FrankJones starts their turn
FrankJones plays Wave-Teller.
FrankJoness scores a location
FrankJones scores a location
FrankJones discards Wave-Teller.
[Okay, nothing unusual here, and nothing complex. The wave-Teller gets played every game, and it scores 2 locations. Both I and my opponent saw this in the game log, everything is fine so far]
5:05 PM ManneMan starts their turn
[As to be expected. My turn ended, and now it is my opponent's turn. We both see this in the game log.]
11:01 PM FrankJones starts their turn.
[ ??? THat's it. The game had already changed the active player from me (after playing the wave-teller) to my opponent. But then 6 hours later, both of us see that the game has sent the turn back to me. Nothing complex here. The game indicated it was my opponent's turn, which it was. And then 6 hours later, the game, without either of us doing ANYTHING, switched it to my turn.]
I very much doubt that is a common occurrence. I've never seen nor heard of it happening at all. We're not talking about a situation in which the game failed to complete one player's turn. Or where each player was seeing something different, for example, each player's screen showing it is the other player's turn, which happens so frequently, there are near-daily bug reports from someone who forfeited on time because of this.
Again, just in case I am not making this clear - game code was executed when nothing was happening, and no play or action was being made.
This would be like two players returning to a game of chess after a few hours, and some of the pieces have been rearranged.