A couple of xboard 4.3.15 bugs(?)

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

A couple of xboard 4.3.15 bugs(?)

Post by sje »

I've been trying the new Symbolic on ICC and I have seen a couple of bugs, possibly in xboard 4.3.15 and perhaps more likely in my code.

1) The local engine analysis is not being seen in the one line output display in the main window. Instead, just a couple of dots show up. The analysis is being correctly displayed in the auxiliary engine output window. The problem does not occur when running xboard in local mode unconnected to a server.

2) Right after the engine receives the "xboard" command, it sends a line "tellicsnoalias set 1 <various program identification>". This doesn't seem to make it to ICC. The same output does work when sent after the start of a new game.

3) At the end of a game (or perhaps the end of a session), the message "No such command (gameend)." shows up. Who is generating this and why?
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: A couple of xboard 4.3.15 bugs(?)

Post by bob »

sje wrote:I've been trying the new Symbolic on ICC and I have seen a couple of bugs, possibly in xboard 4.3.15 and perhaps more likely in my code.

1) The local engine analysis is not being seen in the one line output display in the main window. Instead, just a couple of dots show up. The analysis is being correctly displayed in the auxiliary engine output window. The problem does not occur when running xboard in local mode unconnected to a server.

2) Right after the engine receives the "xboard" command, it sends a line "tellicsnoalias set 1 <various program identification>". This doesn't seem to make it to ICC. The same output does work when sent after the start of a new game.

3) At the end of a game (or perhaps the end of a session), the message "No such command (gameend)." shows up. Who is generating this and why?
xboard sends "gameend" to ICC. You can control this with an xboard option. The idea is that you might use that to issue some seeks or whatever you want, when a game ends. Or you can use the command window and type "+alias gameend tell somebody something" where "somebody" is your account, even the one you are using right now. or maybe "+alias gameend set open 1" which does nothing since you are already open for matches, but it will stop the error. You should see this at the end of each game if xboard is doing what it is supposed to do.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: A couple of xboard 4.3.15 bugs(?)

Post by sje »

bob wrote:xboard sends "gameend" to ICC. You can control this with an xboard option. The idea is that you might use that to issue some seeks or whatever you want, when a game ends. Or you can use the command window and type "+alias gameend tell somebody something" where "somebody" is your account, even the one you are using right now. or maybe "+alias gameend set open 1" which does nothing since you are already open for matches, but it will stop the error. You should see this at the end of each game if xboard is doing what it is supposed to do.
I had forgotten about this and had accidentally deleted the -xrm option to xboard (zippyGameEnd or something like that) that had handled the game end event.

A new one: xboard -> Mode -> Show Evaluation Graph does not appear to do anything.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: A couple of xboard 4.3.15 bugs(?)

Post by hgm »

sje wrote:I've been trying the new Symbolic on ICC and I have seen a couple of bugs, possibly in xboard 4.3.15 and perhaps more likely in my code.
First of all, thank you for testing XBoard 4.3.15!
1) The local engine analysis is not being seen in the one line output display in the main window. Instead, just a couple of dots show up. The analysis is being correctly displayed in the auxiliary engine output window. The problem does not occur when running xboard in local mode unconnected to a server.
This is the intended mode of operation when the option -hideThinkingFromHuman is on. This option replaces the "Show Thinking" option (which controlled the display of thinking output at the engine level, which is no longer desirable now we want this output to appear in PGN or auxiliary windows), in the Options menu. We might have the case of a not-too-well chosen default setting for this option here. I will have a look into it. In WinBoard the default settings hardly matter, as they are overruled by the settngs in the winboard.ini fle.
2) Right after the engine receives the "xboard" command, it sends a line "tellicsnoalias set 1 <various program identification>". This doesn't seem to make it to ICC. The same output does work when sent after the start of a new game.
You might not be logged in yet when the engine sends this? In this case, it might be hard to fix. I think that firing up the engine is one of the very first things XBoard does, on start-up, before any ICS communication. Perhaps I should make sure an extra"new command is send to the engine if and when the ICS login is completed.
3) At the end of a game (or perhaps the end of a session), the message "No such command (gameend)." shows up. Who is generating this and why?
XBoard send a GAMEEND string to the ICS after each game. The idea is that this can be aliased on the ICS to a seek command. There are also XBoard command-line options to redefine this string in XBoard, I think "gameend" is the defalt value for this option. Look in the manual amongst ICS options.

[edit] Oh, I see Bob already answered this. :oops:
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: A couple of xboard 4.3.15 bugs(?)

Post by hgm »

sje wrote:A new one: xboard -> Mode -> Show Evaluation Graph does not appear to do anything.
Correct. The evaluation graph is a Winboard_x feaure that I have not back-ported to XBoard yet. But when I was redesigning the XBoard menu structure, I already put it in.

So no panic; it will be made to do something in due time! 8-)
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: A couple of xboard 4.3.15 bugs(?)

Post by sje »

hgm wrote:
sje wrote:I've been trying the new Symbolic on ICC and I have seen a couple of bugs, possibly in xboard 4.3.15 and perhaps more likely in my code.
First of all, thank you for testing XBoard 4.3.15!
1) The local engine analysis is not being seen in the one line output display in the main window. Instead, just a couple of dots show up. The analysis is being correctly displayed in the auxiliary engine output window. The problem does not occur when running xboard in local mode unconnected to a server.
This is the intended mode of operation when the option -hideThinkingFromHuman is on. This option replaces the "Show Thinking" option (which controlled the display of thinking output at the engine level, which is no longer desirable now we want this output to appear in PGN or auxiliary windows), in the Options menu. We might have the case of a not-too-well chosen default setting for this option here. I will have a look into it. In WinBoard the default settings hardly matter, as they are overruled by the settngs in the winboard.ini fle.
2) Right after the engine receives the "xboard" command, it sends a line "tellicsnoalias set 1 <various program identification>". This doesn't seem to make it to ICC. The same output does work when sent after the start of a new game.
You might not be logged in yet when the engine sends this? In this case, it might be hard to fix. I think that firing up the engine is one of the very first things XBoard does, on start-up, before any ICS communication. Perhaps I should make sure an extra"new command is send to the engine if and when the ICS login is completed.
Here's the call to xboard for use with ICC:

Code: Select all

/usr/local/bin/xboard \
        -autocomm \
        -autoflag \
        -fcp "./Symbolic -c xboard" \
        -fd $HOME/Arena/Symbolic \
        -ics \
        -icshost chessclub.com \
        -icshelper $HOME/Arena/Symbolic/tx \
        -icslogon $HOME/Arena/Symbolic/icclogon \
        -sgf $HOME/Arena/Symbolic/icc.pgn \
        -size Medium \
        -thinking \
        -xalarm \
        -xanimate \
        -xbuttons \
        -xrm "*zippyGameEnd&#58; set 4 No game in progress.\n" \
        -xrm "*zippyGameStart&#58; set 4 Game in progress.\n" \
        -xzab \
        -xzadj \
        -zippyMaxGames 4 \
        -zp
Shouldn't the "-thinking" option always force engine analysis output to appear in the main display?

----

Sending an extra "new" command is not a good idea. Better would to ensure that xboard is logged on to the ICS before sending an "xboard" command to the engine.

A "new" command really shouldn't be sent until a game is ready to begin. At the moment, there will always be one more "new" command than the actual number of games played.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: A couple of xboard 4.3.15 bugs(?)

Post by hgm »

sje wrote:Shouldn't the "-thinking" option always force engine analysis output to appear in the main display?
Not anymore. -thinking controls the sending of analysis output by the engine (through sending it post or nopost commands). Originally this output was used for other purpose than displaying, so it was automatically displayed.

But now that the analyis output is also used for annotation of the PGN, adjudication, display in engine-output window, kibitzing, evaluation graph, it was necssary to control its display in the main-window message field independently. In a Human-engine game you typically want the PGN annotated to see where you goofed, but you don't want to have the engine what the PV is. For this the option -hideThinkingFromHuman was added.

The latest XBoard always makes the engine send the analysis output if it is needed, even if -showThinking is off. (Paying attention to the show-thining setting only cused inconsistent behavior, like a window appearing and then staying empty.) So this makes the -showThinking obsion kind of useless / obsolete. The only use left is that setting it forces analysis output to be sent even if it is not used by XBoard in any conceivable way, to force its appearence in the debug file (when -debug is on).

What you need to add is

-hideThinkingFromHuman false \

I thought most WB-compatible interfaces were quite liberal with new commands...
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: A couple of xboard 4.3.15 bugs(?)

Post by sje »

It appears that -hideThinkingFromHuman works.

The one line display is more useful on Linux systems than on Macs because for the latter I have the OS/X Console utility that displays changing log files in real time. The utility has several more access and manipulation functions; on Linux I have to be satisfied with "tail -f Symbolic.log".

Which reminds me: the xboard Engine Output window will lose some lines if too many come in too fast.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: A couple of xboard 4.3.15 bugs(?)

Post by bob »

hgm wrote:
sje wrote:I've been trying the new Symbolic on ICC and I have seen a couple of bugs, possibly in xboard 4.3.15 and perhaps more likely in my code.
First of all, thank you for testing XBoard 4.3.15!
1) The local engine analysis is not being seen in the one line output display in the main window. Instead, just a couple of dots show up. The analysis is being correctly displayed in the auxiliary engine output window. The problem does not occur when running xboard in local mode unconnected to a server.
This is the intended mode of operation when the option -hideThinkingFromHuman is on. This option replaces the "Show Thinking" option (which controlled the display of thinking output at the engine level, which is no longer desirable now we want this output to appear in PGN or auxiliary windows), in the Options menu. We might have the case of a not-too-well chosen default setting for this option here. I will have a look into it. In WinBoard the default settings hardly matter, as they are overruled by the settngs in the winboard.ini fle.
2) Right after the engine receives the "xboard" command, it sends a line "tellicsnoalias set 1 <various program identification>". This doesn't seem to make it to ICC. The same output does work when sent after the start of a new game.
You might not be logged in yet when the engine sends this? In this case, it might be hard to fix. I think that firing up the engine is one of the very first things XBoard does, on start-up, before any ICS communication. Perhaps I should make sure an extra"new command is send to the engine if and when the ICS login is completed.
3) At the end of a game (or perhaps the end of a session), the message "No such command (gameend)." shows up. Who is generating this and why?
XBoard send a GAMEEND string to the ICS after each game. The idea is that this can be aliased on the ICS to a seek command. There are also XBoard command-line options to redefine this string in XBoard, I think "gameend" is the defalt value for this option. Look in the manual amongst ICS options.

[edit] Oh, I see Bob already answered this. :oops:
Current xboard that I use first logs in, then starts the engine. This has always worked for me (setting the notes, etc, by using "tellics").
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: A couple of xboard 4.3.15 bugs(?)

Post by sje »

Another item:

While connected to an ICS, Symbolic will post its analysis for each move selection. If the opponent is a human, the command to xboard is "tellothers <analysis>" when the opponent is a computer, the command is "tellall <analysis>". The former hits the ICS as a "whisper" while the latter becomes a "kibitz".

But not always. Occasionally the "tellall" incorrectly produces a "whisper".