Well, Tim provided a different way out of the loop with:
if (girlsfucked == 24):
return
But of course that doesn't work when José points for girls are changed in a way different from the challenger code. That's why I asked the reporter about any mods being installed.
Edit: and I just now realise that is not going to work when cockblocking comes into it either. Still, José fucking upwards of 20 girls seems a very remote chance too. Come to think of it, really impossible, as the guy can only get about 130 point by the end of day 6.
Edit2: thinking further, with the current code José doesn't need to approach more than 20 girls. When he is at less than 12 (including cockblocks) the random chance to find a free girl that can receive points is more than 50 percent. But when he gets over half the random time to find a free girl will increase exponentially. And that's where the infinite loop detection may come in.
But even with the max number of cockblocks leaving 9 girls done by José seems quite a lot for the guy.
Edit3: I still haven't found out what the pass count is for the infinite loop detection. If it is a fairly low number, the reporter of this issue may just have had an unbelievable string of bad luck by randonly hitting only girls already spoken for either by José or cockblocking.
Edit4: the infinite loop detection does not seem to work on a number of passes along some label as I hoped, but purely on elapsed wall-clock time. That means the infinite loop detection can hit any time when there is not enoguh cpu available to run the game. So while I can see the logical correctness of
@Mattock 's solution I am not sure adding a lot of coding will help in this situation. It may make matters worse. As there are almost no reports of infinite loop problems here I think what happened to the reporter is something really unlikely. So, unless more reports come in of the challenger code failing I recommend Tim to leave it as is.