Cinnamon 2.3

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Cinnamon 2.3

Post by Gabor Szots »

geko wrote: Mon Oct 26, 2020 9:47 pm Hi all, I did a lot of tests and the engine now is stable. The version is 2.3.1

the site page is here http://cinnamonchess.altervista.org

Is it possible replace 2.3 with 2.3.1 here? http://ccrl.chessdom.com/ccrl/404/index.html

thanks
Giuseppe
Hi Giuseppe,

What are the changes relative to version 2.3 apart from those affecting FRC? In other words, are they identical in normal chess?
Gabor Szots
CCRL testing group
geko
Posts: 36
Joined: Fri Sep 06, 2013 11:20 am
Location: Italy
Full name: Giuseppe Cannella

Re: Cinnamon 2.3

Post by geko »

Hi Gabor, I fixed only FRC bug, in normal chess 2.3 and 2.3.1 are identical
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Cinnamon 2.3

Post by Gabor Szots »

geko wrote: Mon Oct 26, 2020 11:13 pm Hi Gabor, I fixed only FRC bug, in normal chess 2.3 and 2.3.1 are identical
I'm afraid you have broken something, Giuseppe.

Since I replaced 2.3 with 2.3.1 the engine does not always move when out of external book (Arena GUI, own book not used).

Here are debugs from both of the. I can only see that 2.3. starts calculating while 2.3.1 does not.
Also, please note the lines marked red (by version 2.3):
2020-10-29 09:50:59,022**----------New game---2020-10-29 09:50:59,022 Cs -------------
2020-10-29 09:50:59,022**Loading book: E:\Sakk\Arena2\Books\SideLines.abk
2020-10-29 09:51:13,795-->1:quit
2020-10-29 09:51:14,184*1*-------------------Starting engine 1 Cinnamon 2.3 64-bit--------------------
2020-10-29 09:51:14,184*1*Configured Engine 1 Type: UCI
2020-10-29 09:51:14,184*1*Engine 1 dir: E:\Sakk\UCI-engines\Cinnamon
2020-10-29 09:51:14,184*1*Engine 1 commandline: E:\Sakk\UCI-engines\Cinnamon\Cinnamon_2.3-x64.exe
2020-10-29 09:51:14,300*1*Child Process Prio Adj: PID 2732 conhost.exe
2020-10-29 09:51:14,322*1*Engine 1 ProcessID: 3536
2020-10-29 09:51:14,322*1*Engine 1 Prio:32 ThreadPrio:0
2020-10-29 09:51:14,354<--1:Cinnamon 2.3 UCI chess engine by Giuseppe Cannella
2020-10-29 09:51:14,354<--1:64-bit popcnt bsf bmi2 compiled Oct 18 2020 with GNU GCC 8.1.0
2020-10-29 09:51:14,354-->1:uci
2020-10-29 09:51:14,354<--1:License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
2020-10-29 09:51:14,354<--1:id name Cinnamon 2.3
2020-10-29 09:51:14,354<--1:id author Giuseppe Cannella
2020-10-29 09:51:14,354<--1:option name Hash type spin default 64 min 1 max 131071
2020-10-29 09:51:14,354<--1:option name Clear Hash type button
2020-10-29 09:51:14,354<--1:option name Nullmove type check default true
2020-10-29 09:51:14,354<--1:option name Book File type string default cinnamon.bin
2020-10-29 09:51:14,354<--1:option name OwnBook type check default false
2020-10-29 09:51:14,354<--1:option name Ponder type check default false
2020-10-29 09:51:14,354<--1:option name Threads type spin default 1 min 1 max 64
2020-10-29 09:51:14,354<--1:option name UCI_Chess960 type check default false
2020-10-29 09:51:14,354<--1:option name GaviotaTbPath type string default <empty>
2020-10-29 09:51:14,354<--1:option name GaviotaTbCache type spin default 32 min 1 max 1024
2020-10-29 09:51:14,354<--1:option name GaviotaTbScheme type combo default cp4 var none var cp1 var cp2 var cp3 var cp4
2020-10-29 09:51:14,354<--1:option name TB Pieces installed type combo default 3 var none var 3 var 4 var 5
2020-10-29 09:51:14,354<--1:option name TB Restart type button
2020-10-29 09:51:14,354<--1:option name SyzygyPath type string default <empty>
2020-10-29 09:51:14,354<--1:uciok
2020-10-29 09:51:14,354-->1:setoption name Hash value 256
2020-10-29 09:51:14,354-->1:setoption name SyzygyPath value F:\Sakk\syzygy
2020-10-29 09:51:14,354*1*Child Process Prio Adj: PID 2732 conhost.exe
2020-10-29 09:51:14,354<--1:Unknown command: setoption name Hash value 256
2020-10-29 09:51:14,354<--1:Unknown command: setoption name SyzygyPath value F:\Sakk\syzygy

2020-10-29 09:51:14,354-->1:isready
2020-10-29 09:51:14,423<--1:readyok
2020-10-29 09:51:20,962*1*Start calc, move no: 1
2020-10-29 09:51:20,962*1*Main Book Move SideLines.abk: g8f6
2020-10-29 09:51:22,065*1*Start calc, move no: 3
2020-10-29 09:51:22,065-->1:ucinewgame
2020-10-29 09:51:22,065-->1:isready
2020-10-29 09:51:22,065<--1:readyok
2020-10-29 09:51:22,080-->1:position startpos moves d2d4 g8f6 d4d5
2020-10-29 09:51:22,080-->1:go wtime 121375 btime 121000 winc 1000 binc 1000
2020-10-29 09:51:22,080<--1:info depth 1 score cp 10 time 1 nodes 1 nps 1000 pv d7d6
2020-10-29 09:51:22,080<--1:info depth 2 score cp -8 time 1 nodes 23 nps 23000 pv e7e6 b1c3
2020-10-29 09:51:22,080<--1:info depth 3 score cp 19 time 1 nodes 42 nps 42000 pv e7e6 d5e6 d7e6
2020-10-29 09:51:22,080<--1:info depth 4 score cp 67 time 1 nodes 393 nps 393000 pv e7e5 g1f3 f8b4 c2c3 b4d6
2020-10-29 09:51:22,080<--1:info depth 5 score cp 84 time 1 nodes 836 nps 836000 pv e7e6 d5e6 f7e6 g1f3 f8c5
2020-10-29 09:51:22,096<--1:info depth 6 score cp 87 time 16 nodes 1817 nps 113562 pv e7e6 d5e6 f7e6 g1f3 f8b4 c2c3 b4c5
2020-10-29 09:51:22,112<--1:info depth 7 score cp 87 time 32 nodes 4161 nps 130031 pv e7e6 d5e6 f7e6 g1f3 f8c5 f3e5 b8c6
2020-10-29 09:51:22,143<--1:info depth 8 score cp 77 time 63 nodes 11400 nps 180952 pv e7e6 b1c3 f8b4 d1d4 c7c5 d4e5 d7d6 e5g3
2020-10-29 09:51:22,196<--1:info depth 9 score cp 75 time 116 nodes 22440 nps 193448 pv e7e6 b1c3 f8b4 d1d4 c7c5 d4e5 d7d6 e5g3 b4c3 b2c3
2020-10-29 09:51:22,297<--1:info depth 10 score cp 66 time 217 nodes 47497 nps 218880 pv e7e6 b1c3 f8b4 d1d4 c7c5 d4e5 d7d6 e5g3 b4c3 b2c3 g7g6
2020-10-29 09:51:22,566<--1:info depth 11 score cp 58 time 486 nodes 124413 nps 255993 pv e7e6 b1c3 f8b4 d1d4 c7c5 d4e5 d7d6 e5g3 f6h5 g3g4 g7g6
2020-10-29 09:51:24,844<--1:bestmove e7e6
2020-10-29 09:51:24,844*1*Found move:e7-e6
2020-10-29 09:52:33,678**----------New game---2020-10-29 09:52:33,678 Cs -------------
2020-10-29 09:52:33,688**Loading book: E:\Sakk\Arena2\Books\SideLines.abk
2020-10-29 09:53:03,152-->1:quit
2020-10-29 09:53:03,632*1*------------------Starting engine 1 Cinnamon 2.3.1 64-bit-------------------
2020-10-29 09:53:03,634*1*Configured Engine 1 Type: UCI
2020-10-29 09:53:03,634*1*Engine 1 dir: E:\Sakk\UCI-engines\Cinnamon
2020-10-29 09:53:03,634*1*Engine 1 commandline: E:\Sakk\UCI-engines\Cinnamon\Cinnamon_2.3.1-x64.exe
2020-10-29 09:53:03,740*1*Child Process Prio Adj: PID 11560 conhost.exe
2020-10-29 09:53:03,740*1*Engine 1 ProcessID: 11292
2020-10-29 09:53:03,740*1*Engine 1 Prio:32 ThreadPrio:0
2020-10-29 09:53:03,777<--1:Cinnamon 2.3.1 UCI chess engine by Giuseppe Cannella
2020-10-29 09:53:03,777<--1:64-bit popcnt bsf bmi2 compiled Oct 26 2020 with GNU GCC 8.1.0
2020-10-29 09:53:03,777-->1:uci
2020-10-29 09:53:03,777<--1:License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
2020-10-29 09:53:03,777<--1:id name Cinnamon 2.3.1
2020-10-29 09:53:03,777<--1:id author Giuseppe Cannella
2020-10-29 09:53:03,777<--1:option name Hash type spin default 64 min 1 max 131071
2020-10-29 09:53:03,777<--1:option name Clear Hash type button
2020-10-29 09:53:03,777<--1:option name Nullmove type check default true
2020-10-29 09:53:03,777<--1:option name Book File type string default cinnamon.bin
2020-10-29 09:53:03,777<--1:option name OwnBook type check default false
2020-10-29 09:53:03,777<--1:option name Ponder type check default false
2020-10-29 09:53:03,777<--1:option name Threads type spin default 1 min 1 max 64
2020-10-29 09:53:03,777<--1:option name UCI_Chess960 type check default false
2020-10-29 09:53:03,777<--1:option name GaviotaTbPath type string default <empty>
2020-10-29 09:53:03,777<--1:option name GaviotaTbCache type spin default 32 min 1 max 1024
2020-10-29 09:53:03,777<--1:option name GaviotaTbScheme type combo default cp4 var none var cp1 var cp2 var cp3 var cp4
2020-10-29 09:53:03,777<--1:option name TB Pieces installed type combo default 3 var none var 3 var 4 var 5
2020-10-29 09:53:03,777<--1:option name TB Restart type button
2020-10-29 09:53:03,777<--1:option name SyzygyPath type string default <empty>
2020-10-29 09:53:03,777<--1:uciok
2020-10-29 09:53:03,777-->1:setoption name Hash value 256
2020-10-29 09:53:03,777-->1:setoption name SyzygyPath value F:\Sakk\syzygy
2020-10-29 09:53:03,777*1*Child Process Prio Adj: PID 11560 conhost.exe
2020-10-29 09:53:03,777-->1:isready
2020-10-29 09:53:03,840<--1:syzygy tb use 6 pieces
2020-10-29 09:53:03,840<--1:readyok
2020-10-29 09:53:13,942*1*Start calc, move no: 1
2020-10-29 09:53:13,958*1*Main Book Move SideLines.abk: g8f6
2020-10-29 09:53:14,704*1*Start calc, move no: 3
2020-10-29 09:53:14,704-->1:ucinewgame
2020-10-29 09:53:14,704-->1:isready
2020-10-29 09:53:14,704<--1:readyok
2020-10-29 09:53:14,720-->1:position startpos moves d2d4 g8f6 d4d5
2020-10-29 09:53:14,720-->1:go wtime 121719 btime 121000 winc 1000 binc 1000
Gabor Szots
CCRL testing group
User avatar
Guenther
Posts: 4606
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Cinnamon 2.3

Post by Guenther »

Gabor Szots wrote: Thu Oct 29, 2020 10:11 am
geko wrote: Mon Oct 26, 2020 11:13 pm Hi Gabor, I fixed only FRC bug, in normal chess 2.3 and 2.3.1 are identical
I'm afraid you have broken something, Giuseppe.

Since I replaced 2.3 with 2.3.1 the engine does not always move when out of external book (Arena GUI, own book not used).

Here are debugs from both of the. I can only see that 2.3. starts calculating while 2.3.1 does not.
Also, please note the lines marked red (by version 2.3):
2020-10-29 09:50:59,022**----------New game---2020-10-29 09:50:59,022 Cs -------------
2020-10-29 09:50:59,022**Loading book: E:\Sakk\Arena2\Books\SideLines.abk
2020-10-29 09:51:13,795-->1:quit
2020-10-29 09:51:14,184*1*-------------------Starting engine 1 Cinnamon 2.3 64-bit--------------------
2020-10-29 09:51:14,184*1*Configured Engine 1 Type: UCI
2020-10-29 09:51:14,184*1*Engine 1 dir: E:\Sakk\UCI-engines\Cinnamon
2020-10-29 09:51:14,184*1*Engine 1 commandline: E:\Sakk\UCI-engines\Cinnamon\Cinnamon_2.3-x64.exe
2020-10-29 09:51:14,300*1*Child Process Prio Adj: PID 2732 conhost.exe
2020-10-29 09:51:14,322*1*Engine 1 ProcessID: 3536
2020-10-29 09:51:14,322*1*Engine 1 Prio:32 ThreadPrio:0
2020-10-29 09:51:14,354<--1:Cinnamon 2.3 UCI chess engine by Giuseppe Cannella
2020-10-29 09:51:14,354<--1:64-bit popcnt bsf bmi2 compiled Oct 18 2020 with GNU GCC 8.1.0
2020-10-29 09:51:14,354-->1:uci
2020-10-29 09:51:14,354<--1:License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
2020-10-29 09:51:14,354<--1:id name Cinnamon 2.3
2020-10-29 09:51:14,354<--1:id author Giuseppe Cannella
2020-10-29 09:51:14,354<--1:option name Hash type spin default 64 min 1 max 131071
2020-10-29 09:51:14,354<--1:option name Clear Hash type button
2020-10-29 09:51:14,354<--1:option name Nullmove type check default true
2020-10-29 09:51:14,354<--1:option name Book File type string default cinnamon.bin
2020-10-29 09:51:14,354<--1:option name OwnBook type check default false
2020-10-29 09:51:14,354<--1:option name Ponder type check default false
2020-10-29 09:51:14,354<--1:option name Threads type spin default 1 min 1 max 64
2020-10-29 09:51:14,354<--1:option name UCI_Chess960 type check default false
2020-10-29 09:51:14,354<--1:option name GaviotaTbPath type string default <empty>
2020-10-29 09:51:14,354<--1:option name GaviotaTbCache type spin default 32 min 1 max 1024
2020-10-29 09:51:14,354<--1:option name GaviotaTbScheme type combo default cp4 var none var cp1 var cp2 var cp3 var cp4
2020-10-29 09:51:14,354<--1:option name TB Pieces installed type combo default 3 var none var 3 var 4 var 5
2020-10-29 09:51:14,354<--1:option name TB Restart type button
2020-10-29 09:51:14,354<--1:option name SyzygyPath type string default <empty>
2020-10-29 09:51:14,354<--1:uciok
2020-10-29 09:51:14,354-->1:setoption name Hash value 256
2020-10-29 09:51:14,354-->1:setoption name SyzygyPath value F:\Sakk\syzygy
2020-10-29 09:51:14,354*1*Child Process Prio Adj: PID 2732 conhost.exe
2020-10-29 09:51:14,354<--1:Unknown command: setoption name Hash value 256
2020-10-29 09:51:14,354<--1:Unknown command: setoption name SyzygyPath value F:\Sakk\syzygy

2020-10-29 09:51:14,354-->1:isready
2020-10-29 09:51:14,423<--1:readyok
...
I can answer at least the first part of this after a little logging.
In your debugs Arena commands arrive not in the expected order (but having the same timestamp).
The debug shows changed options are sent before 'isready/readyok' is processed in Cinnamon!

Code: Select all

0.000: - Starting server: Cinnamon231-64.exe
0.000: - Priority class set to normal
0.000: - Thread priority set to normal
0.000: < Cinnamon 2.3.1 UCI chess engine by Giuseppe Cannella
0.000: < 64-bit compiled Oct 29 2020 with GNU GCC 10.2.0
0.000: < License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
0.000: < 
3.011: > uci
3.011: < id name Cinnamon 2.3.1
3.011: < id author Giuseppe Cannella
3.011: < option name Hash type spin default 64 min 1 max 131071
...
3.026: < option name SyzygyPath type string default <empty>
3.026: < uciok
6.489: > ucinewgame
21.855: > setoption Hash value 512
21.855: < Unknown command: setoption Hash value 512
35.942: > isready
35.942: < readyok

Code: Select all

0.000: - Starting server: Cinnamon231-64.exe
0.016: - Priority class set to normal
0.016: - Thread priority set to normal
0.016: < Cinnamon 2.3.1 UCI chess engine by Giuseppe Cannella
0.016: < 64-bit compiled Oct 29 2020 with GNU GCC 10.2.0
0.016: < License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
0.016: < 
3.292: > uci
3.292: < id name Cinnamon 2.3.1
3.307: < id author Giuseppe Cannella
3.307: < option name Hash type spin default 64 min 1 max 131071
...
3.307: < option name SyzygyPath type string default <empty>
3.307: < uciok
7.847: > ucinewgame
11.201: > isready
11.201: < readyok
26.629: > setoption name Hash value 512
31.309: > go infinite
...
34.258: < info depth 11 score cp 16 time 2911 nodes 217656 nps 74770 pv g1f3 e7e6 b1c3 d7d5 d2d4 g8f6 c1f4 b8c6 d1d3 f8d6 f3e5 
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Cinnamon 2.3

Post by Gabor Szots »

So Arena issues setoption and isready in random order?
Gabor Szots
CCRL testing group
User avatar
Guenther
Posts: 4606
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Cinnamon 2.3

Post by Guenther »

Gabor Szots wrote: Thu Oct 29, 2020 4:55 pm So Arena issues setoption and isready in random order?
Actually I looked the uci specs up again and after an engine was started with uci it should be able to process
either 'setoption' or 'isready', so I am not sure anymore, why Cinnamon refuses to accept 'setoption' at this time.

Code: Select all

* The engine should boot and wait for input from the GUI,
  the engine should wait for the "isready" or "setoption" command to set up its internal parameters
  as the boot process should be as quick as possible.
I'll leave it to an uci engine programmer and Arena specialist ;-)

Code: Select all

* isready
    this is used to synchronize the engine with the GUI. When the GUI has sent a command or
    multiple commands that can take some time to complete,
    this command can be used to wait for the engine to be ready again or
    to ping the engine to find out if it is still alive.
    E.g. this should be sent after setting the path to the tablebases as this can take some time.
    This command is also required once before the engine is asked to do any search
    to wait for the engine to finish initializing.
    This command must always be answered with "readyok" and can be sent also when the engine is calculating
    in which case the engine should also immediately answer with "readyok" without stopping the search.
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
Terje
Posts: 347
Joined: Tue Nov 19, 2019 4:34 am
Location: https://github.com/TerjeKir/weiss
Full name: Terje Kirstihagen

Re: Cinnamon 2.3

Post by Terje »

Guenther wrote: Thu Oct 29, 2020 5:39 pm
Gabor Szots wrote: Thu Oct 29, 2020 4:55 pm So Arena issues setoption and isready in random order?
Actually I looked the uci specs up again and after an engine was started with uci it should be able to process
either 'setoption' or 'isready', so I am not sure anymore, why Cinnamon refuses to accept 'setoption' at this time.

Code: Select all

* The engine should boot and wait for input from the GUI,
  the engine should wait for the "isready" or "setoption" command to set up its internal parameters
  as the boot process should be as quick as possible.
I'll leave it to an uci engine programmer and Arena specialist ;-)

Code: Select all

* isready
    this is used to synchronize the engine with the GUI. When the GUI has sent a command or
    multiple commands that can take some time to complete,
    this command can be used to wait for the engine to be ready again or
    to ping the engine to find out if it is still alive.
    E.g. this should be sent after setting the path to the tablebases as this can take some time.
    This command is also required once before the engine is asked to do any search
    to wait for the engine to finish initializing.
    This command must always be answered with "readyok" and can be sent also when the engine is calculating
    in which case the engine should also immediately answer with "readyok" without stopping the search.
Engines should definitely handle getting 'setoption' directly after 'uci'. Only guarantee, as the quoted part states, is 1 'isready' before the first 'go'. Whether the 'isready' must be directly before the 'go', or at any point between 'uci' and 'go' I don't know, the specs are poorly written :D
geko
Posts: 36
Joined: Fri Sep 06, 2013 11:20 am
Location: Italy
Full name: Giuseppe Cannella

Re: Cinnamon 2.3

Post by geko »

Cinnamon 2.3 has a bug in Uci module so setoption in uppercase (Hash, etc) don't work properly, this bug has been fixed in 2.3.1.
21.855: > setoption Hash value 512
21.855: < Unknown command: setoption Hash value 512
it's wrong, you have to write "setoption name Hash value 512" don't you?

Gabor I don't understand
Since I replaced 2.3 with 2.3.1 the engine does not always move when out of external book (Arena GUI, own book not used).
may you explain it?
User avatar
Guenther
Posts: 4606
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Cinnamon 2.3

Post by Guenther »

geko wrote: Thu Oct 29, 2020 8:05 pm Cinnamon 2.3 has a bug in Uci module so setoption in uppercase (Hash, etc) don't work properly, this bug has been fixed in 2.3.1.
21.855: > setoption Hash value 512
21.855: < Unknown command: setoption Hash value 512
it's wrong, you have to write "setoption name Hash value 512" don't you?
You are absolutely right! Sorry in my first attempt in hasty reproducing the error I forgot it.
Unlike in the second log I showed...
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: Cinnamon 2.3

Post by Gabor Szots »

geko wrote: Thu Oct 29, 2020 8:05 pm Cinnamon 2.3 has a bug in Uci module so setoption in uppercase (Hash, etc) don't work properly, this bug has been fixed in 2.3.1.
21.855: > setoption Hash value 512
21.855: < Unknown command: setoption Hash value 512
it's wrong, you have to write "setoption name Hash value 512" don't you?

Gabor I don't understand
Since I replaced 2.3 with 2.3.1 the engine does not always move when out of external book (Arena GUI, own book not used).
may you explain it?
When I played version 2.3 all was well (Cinnamon always moved). Then I replaced it with version 2.3.1 and that engine often refused to move after leaving book. The attached snippets show that: 2.3 is calculating, 2.3.1 is not (that occurs in about half of the games).
Gabor Szots
CCRL testing group