lichess-org / lila

♞ lichess.org: the forever free, adless and open source chess server ♞
https://lichess.org
GNU Affero General Public License v3.0
15.09k stars 2.23k forks source link

'From position' games don't get aborted on time when player doesn't make a move #14049

Closed eduherminio closed 10 months ago

eduherminio commented 10 months ago

Exact URL of where the bug happened

If you check this user, he's currently playing over 99 6+9 games simultaneously https://lichess.org/@/noobhapper

How is that possible? Because apparently under some conditions 'From position' games don't get aborted on time under certain conditions.

In the case of this game vs my bot (which uses lichess-bot-devs/lichess-bot), when the bot sends an illegal UCI command (non-existing move).

In case of the rest of the games, I don't know, but it's happening with other bots as well (WorstFish, bobandi, etc.).

This seems to be an issue only when playing against bots.

Steps to reproduce the bug

It might not be easy to reproduce, so I won't abort the game I control (https://lichess.org/49dBqSDK) and provide lichess-bot-devs/lichess-bot logs if needed I got tired and cancelled it, conditions can be recreated by challenge some of the involved engines under the same conditions.

What did you expect to happen?

Games get aborted after the usual time

What happened instead?

Game get stalled, blocking bots from playing

Operating system

-

Browser and version (or alternate access method)

-

Additional information

image

image

ornicar commented 10 months ago

All unplayed games are deleted after 24h, whether they're from position or not. I checked and it seems to be just working.

Please open again if you think it doesn't work.

eduherminio commented 10 months ago

@ornicar When a BOT attempts to send an illegal move, the game just stalls. Try to challenge bobandi or Worstfish with QQQQQQQQ/QQQQQQQQ/QQQQQQQQ/QQQQQQQQ/QQQQQQQQ/QQQQQQQQ/1PPPPPPP/Q1K3k1 b - - 0 1 position, playing you with black pieces, make a move and you'll be able to reproduce it.

Whether that needs to be fixed at lichess-bot or at lila level, that's a different story.

MarkZH commented 10 months ago

@eduherminio There's nothing for lichess.org to do other than ending the game after 24 hours of no activity. The error occurs in lichess-bot when it rejects an illegal move. Nothing is sent to lichess.org because the error occurs prior to any communication.

I think lichess-bot is the proper place for a fix.

eduherminio commented 10 months ago

Shouldn't lichess.org abort the game if no response arrives after x seconds? That's what happens in human vs human games at least @MarkZH, or in bot vs human when it's the human the one that doesn't play his first move after the bot plays his one.