icsdrone/stockfish behaviour question

Discussion of chess software programming and technical issues.

Moderator: Ras

acconcio
Posts: 22
Joined: Tue Feb 04, 2014 9:52 pm
Location: Italy Milan

icsdrone/stockfish behaviour question

Post by acconcio »

If i add time to opponent in fics "moretime 3" every 10 seconds for example in a game 1 0 then stockfish/icsdrone resigns, is there a particular reason for this behaviour?
I usually add time with command moretime for friends (unrated games).

ciao & thanks
User avatar
hgm
Posts: 28475
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: icsdrone/stockfish behaviour question

Post by hgm »

Seems icsdrone has a knack for resigning. In the latest on-line blitz tourney one of the participants using it also resigned on the first move.
Michel
Posts: 2292
Joined: Mon Sep 29, 2008 1:50 am

Re: icsdrone/stockfish behaviour question

Post by Michel »

There is an issue with moretime in icsdrone. After "moretime" FICS sends a new board which confuses icsdrone. I thought I had fixed this (I use moretime myself often) but apparently not completely. Perhaps you send moretime several times during the same move?

About the resigning: icsdrone now resigns when it would have hanged before (for example if the engine sends an illegal move or crashes during a game). This is compatible with the "fire and forget" philosophy of icsdrone.

The problem with rookie is that it sometimes crashes when starting up. Normally this is not a problem as icsdrone then silently restarts it. However if this happens several times in a row then a race condition seems to be triggered (at least in a tournament where games are played back to back).

I have currently absolutely no time to work on icsdrone, so if the resigning is a problem, just use an older version (or change the source code).
mvk
Posts: 589
Joined: Tue Jun 04, 2013 10:15 pm

Re: icsdrone/stockfish behaviour question

Post by mvk »

Michel wrote:The problem with rookie is that it sometimes crashes when starting up. Normally this is not a problem as icsdrone then silently restarts it. However if this happens several times in a row then a race condition seems to be triggered (at least in a tournament where games are played back to back).
I don't think the problem was crash-related this time. There is never such a problem on FICS and ICC. I think there is some race condition in the stopping and starting of a new engine, and immediately starting a new game after the previous one. I will try to debug it before the next HGM tournament and see if I can patch it myself and let you know my findings.
[Account deleted]
bnemias
Posts: 373
Joined: Thu Aug 14, 2008 3:21 am
Location: Albuquerque, NM

Re: icsdrone/stockfish behaviour question

Post by bnemias »

I don't know how your tournaments work. But if there is any kind of adjudication mechanism in place, then the resign issue could be similar to an old draw issue.

The engine may offer a draw, and by the time ICS gets that command, the engine is already in a new game, thus a draw offer right away which is often accepted.
acconcio
Posts: 22
Joined: Tue Feb 04, 2014 9:52 pm
Location: Italy Milan

Re: icsdrone/stockfish behaviour question

Post by acconcio »

Michel wrote: making some try with VATICANO (FICS/account) playng 1 0 i had crashes, few days ago, then today i made same test with AcCoNcIo and there was no bug: i added time before the first move, during the stockfish/syzygy time ponder (tested both syzygy and stockfish), during my time running (AcCoNcIo), but everything was fine, since the version is the same (icsdrone), i dont understand why i cannot get same behaviour, maybe something was fixed in stockfish?.
acconcio
Posts: 22
Joined: Tue Feb 04, 2014 9:52 pm
Location: Italy Milan

Re: icsdrone/stockfish behaviour question

Post by acconcio »

i found the way to replay the bug

Code: Select all

Your opponent has added 3 seconds to your clock.
stoccafisso(C) tells you: 3 seconds were added to your 
\   opponents clock
(told stoccafisso, who is playing)
Your opponent has added 3 seconds to your clock.
stoccafisso(C) tells you: 3 seconds were added to your 
\   opponents clock
(told stoccafisso, who is playing)
Your opponent has added 3 seconds to your clock.
stoccafisso(C) tells you: 3 seconds were added to your 
\   opponents clock
--- Accodato partita salvata nel file PGN ~/.eboard/mygames.pgn
{Game 157 (stoccafisso vs. AcCoNcIo) stoccafisso resigns} 0-1

No ratings adjustment done.
stoccafisso(C) tells you: stoccafisso resigns (0-1).
Challenge: stoccafisso (2311) AcCoNcIo (1300) unrated lightning 1 0.
when i run the script from eboard:

Code: Select all

#!/usr/bin/expect -f
expect " "
while 1 {

send "tell stoccafisso moretime 3\n"
sleep 9

}