Any help about engines which dont terminate under Winboard

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

Re: Any help about engines which dont terminate under Winboard

Postby Sedat Canbaz » 29 Dec 2009, 11:18

firstly i have tried with:
/delayBeforeQuit=1000

secondly:
/delayBeforeQuit=500

and last with:
/delayBeforeQuit=800

But after all these commands,each time the UCI engines(Colossus+Alfil) dont terminate under PSWBTM

Regards,
Sedat
Sedat Canbaz
 
Posts: 40
Joined: 16 Dec 2009, 10:44

Re: Any help about engines which dont terminate under Winboard

Postby Sedat Canbaz » 29 Dec 2009, 11:36

The same termianting problems appear with both polyglot versions:
Polyglot 1.4w25 09.08.2009(160kb) and Polyglot 1.4.55b 13.12.2009(132kb)

BTW,from where i can download the polyglot 64 version ?

Best,
Sedat
Sedat Canbaz
 
Posts: 40
Joined: 16 Dec 2009, 10:44

Re: Any help about engines which dont terminate under Winboard

Postby Guenther Simon » 29 Dec 2009, 11:58

Sedat Canbaz wrote:firstly i have tried with:
/delayBeforeQuit=1000

secondly:
/delayBeforeQuit=500

and last with:
/delayBeforeQuit=800

But after all these commands,each time the UCI engines(Colossus+Alfil) dont terminate under PSWBTM

Regards,
Sedat


Hi Sedat,

not that delay, but the delay _after_ the game :)

Guenther
User avatar
Guenther Simon
 
Posts: 794
Joined: 26 Sep 2004, 19:49
Location: Regensburg, Germany

Re: Any help about engines which dont terminate under Winboard

Postby H.G.Muller » 29 Dec 2009, 12:04

This is very mysterious, especially that it seems to depend on the use of PSWBTM. Because PSWBTM actually does nothing to WinBoard, except for starting it up for a single game, and then passively waiting until it exits. It does not kill anything, nr attempts in any way to communicate with it or with the engines. Only after the OS notifies it that WinBoard has terminated, it fetches the PGN file on which WinBoard has written the game, to learn about the result.

So if there goes something wrong that is specfic to PSWBTM, and not with other WinBoard TMs, it must be due to the way WinBoard is started up (i.e. with which options). PSWBTM asks for a match of a single game, without exit popup. Perhaps other TMs do it differently.

In principle engines should simply terminate after the match, as WinBoard sends them the quit command. Killing is a last-resort measure, which can take place only on engines that ignore the quit command, especially if it happens only after a delay. For an engine running though an adapter it is of course a bit tricky, as WinBoard is not aware that the adapter is not the engine, and will kill the adapter in stead. Polyglot does translate the WB quit command to a UCI quit command. When a UCI engine ignores this quit command, it should be Polyglot that kills the engine, after a safe delay to not interfere with saving of logs or learning info on disk by the engine. And then there is always the risk that WinBoard will kill Polyglot before Polyglot has decided it is time to kill the engine.

I think this si an important problem (hanging engine processes are extremely annoying), and I appreciate it very much Sedat's help to pinpoint the exact cause. Whatever the reason is, WinBoard should work relably on any system and configuration. But the fact that this problem does nt seem to occur on our (Guenther and mine) systems, makes it very hard to debug. Anyway, the main problem is not related to pv.exe (although there seems to be a problem there too); it is that pv.exe is needed in the first place, and that engines that terminate in our case without any problem with Guenther now always seem to be hanging.

Perhaps we should invite Michel to this discusson, as it seems that Polyglot in first instance is the agency that should be responsible for terminating UCI engines, first by sending them a quit command, and then, if they prove uncoopertive, by sending them kill signals. But I have no idea how Polyglot exactly handles this, which makes it difficult to guess how WinBoard might interfere with it.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Any help about engines which dont terminate under Winboard

Postby Guenther Simon » 29 Dec 2009, 12:08

Sedat Canbaz wrote:The same termianting problems appear with both polyglot versions:
Polyglot 1.4w25 09.08.2009(160kb) and Polyglot 1.4.55b 13.12.2009(132kb)

BTW,from where i can download the polyglot 64 version ?

Best,
Sedat


Ok, I also use the 1.4w25 one. BTW what exact version of PSWBTM are you using?
I still think it is either because of the afterdelay or something which has to do with
your system. Is it perhaps 64 bit Vista?

Guenther
User avatar
Guenther Simon
 
Posts: 794
Joined: 26 Sep 2004, 19:49
Location: Regensburg, Germany

Re: Any help about engines which dont terminate under Winboard

Postby Sedat Canbaz » 29 Dec 2009, 12:08

Hello Guenther,

Where can i find this command delay _after_ ? :)

There is no any command about that in winboard.ini

Please help... :)
Sedat Canbaz
 
Posts: 40
Joined: 16 Dec 2009, 10:44

Re: Any help about engines which dont terminate under Winboard

Postby Guenther Simon » 29 Dec 2009, 12:15

Sedat Canbaz wrote:Hello Guenther,

Where can i find this command delay _after_ ? :)

There is no any command abut that in winboard.ini

Please help... :)


Well, I have it between the adjudication and the event tag parameters in all of my
WB folders(and I have a lot of them).

...
/adjudicateLossThreshold=-800
/delayBeforeQuit=100
/delayAfterQuit=500
/pgnEventHeader="RWBC PSWBTM RT103"
...


I should say few more things in case you are running more than one tourney, but you did not yet answer
if this is the case?
Another idea was coming up too, are the programs really hanging between two automatically played games or just
after you yourself stopped WB by aborting a game? (In the second case it is normal behaviour)

Guenther
User avatar
Guenther Simon
 
Posts: 794
Joined: 26 Sep 2004, 19:49
Location: Regensburg, Germany

Re: Any help about engines which dont terminate under Winboard

Postby H.G.Muller » 29 Dec 2009, 12:17

Guenther Simon wrote:Hi Sedat,

not that delay, but the delay _after_ the game :)

Guenther

Now you are confusing me too. Because this was the delay I was talking about. Are you talking about /matchPause? /delayBeforeQuit should be the delay between the game end and the sending of the quit command. /delayAfterQuit is the delay between sending the quit command and trying to kill the engine forcefully.

But I think to prevent killing Polyglot before it can kill the engine, it is really /delayAfterQuit that is the crucial parameter, not /delayBeforeQuit. (Although, if the engine is tardy because it was still thinking, receiving the quit later might also be helpful.)

One thought: is this by any chance related to engines resigning after their move? If so, could there be a difference here between the way Guenther sets the resign threshold from the way Sedat does it? When engines resign after their move, the opponent has already started thinking before it gets the quit command, which might lead to more hanging.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Any help about engines which dont terminate under Winboard

Postby Sedat Canbaz » 29 Dec 2009, 12:18

Guenther Simon wrote:Ok, I also use the 1.4w25 one. BTW what exact version of PSWBTM are you using?
I still think it is either because of the afterdelay or something which has to do with
your system. Is it perhaps 64 bit Vista?

Guenther



I use Windows XP Professional x64 (service pack 2)
and PSWBTM v2.0 (23.12.2008)

For more details:
http://www.sedatchess.com/scct2010rules.html

What about your operatating system and PSWBTM version ?

Best,
Sedat
Sedat Canbaz
 
Posts: 40
Joined: 16 Dec 2009, 10:44

Re: Any help about engines which dont terminate under Winboard

Postby Sedat Canbaz » 29 Dec 2009, 12:40

H.G.Muller wrote:I appreciate it very much Sedat's help to pinpoint the exact cause. .

You are welcome and i appreciate very much your efforts too,normally i like very much Winboard GUI,but the reason why i almost all time used FritzGUI,
simply becouse the conditions of my previous played tournaments were same neutral opening book for all engines

Btw,i have a few wishes for the next version of Winboard GUI:
1)Same Neutral Opening Book for all Engines (including UCI+WB engines)
2)UCI+WB Engines to be created/imported automatically under Winboard GUI (as under Fritz,Arena...)
3)Show Opening (as under Fritz,Arena...)
4)Create/Run automatically tournaments:Round-Robin,Gauntlets ...(without help by adding any tournament manager)
5)UCI engines running without any polyglot adapters


I hope one day we will see them in Winboard GUI
Sedat Canbaz
Sedat Canbaz
 
Posts: 40
Joined: 16 Dec 2009, 10:44

Re: Any help about engines which dont terminate under Winboard

Postby H.G.Muller » 29 Dec 2009, 13:04

Sedat Canbaz wrote:1)Same Neutral Opening Book for all Engines (including UCI+WB engines)
2)UCI+WB Engines to be create automatically under Winboard GUI (as under Fritz,Arena...)
3)Show Opening (as under Fritz,Arena...)
4)Create/Run automatically tournaments:Round-Robin,Gauntlets ...(without help by adding any tournament manager)
5)UCI engines running without any polyglot adapters

I think (1) already works since 4.3.16: WinBoard supports a GUI book that is used by all engines, provided you run them with the options /firstXBook (/secondXBook) and /usePolyglotBook true.

With (2) you mean installing them in the winboard.ini file? I don't see how this could be done without knowledge, as WinBoard engines usually need arguments on their command line that are specific to the engine. What I had in mind for the future is a separate installer tool, which presents the user with a list of engines that are available for download, where the list itsef is downloaded from a maintainer website, and includes the required information on where to obtain it (URL), how to unpack it (zip, tar.gz, 7z), where to put it and how to invoke it. The user could sort the list on the various items of info (author, rating, features, variants), and would then click the engines he want, and would find them automatically installed in the PSWBTM egine database.

For (3), you mean displaying the ECO code? WinBoard has already a function to show the book moves of an engine.

(5) has already been decided against, as it would not offer any benifits to the user, and only makes WinBoard more cumbersome and error prone. The user cannot know if Polyglot or any other adapter is being used, when he runs a UCI engine, just as he cannot know whether WinBoard is writen in C, C++ or Java. So it would have no visible effect, and take a lot of effort, while lkely reducing the quality.

To a lesser extent this also holds for (4). Logically a GUI and a Tournament Manager are different functions, and the modular approach of having them in separate specialized programs is a lot more flexible than building a mediocre one in WinBoard.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Any help about engines which dont terminate under Winboard

Postby Michel » 29 Dec 2009, 13:38

On windows PG terminates an engine by first sending it the "quit" command and then
reading input (i.e. engine output) until EOF. Then it checks if the process is dead,
if not it will call TerminateProcess.

This works reliably with the engines I use but of course it is not robust against
a misbehaving engine (PG will hang if EOF never comes).

To make it robust there should be a configurable timeout after which PG kills
the process unconditionally.

I need to think a bit about the cleanest way to do this (it should also work under Linux).
Michel
 
Posts: 513
Joined: 01 Oct 2008, 12:15

Re: Any help about engines which dont terminate under Winboard

Postby Sedat Canbaz » 29 Dec 2009, 14:09

I think (1) already works since 4.3.16: WinBoard supports a GUI book that is used by all engines, provided you run them with the options /firstXBook (/secondXBook) and /usePolyglotBook true.

Really ?,so its good news that even the WB engines can use the same opening book...
Normally i know that its available a default.bin,but i thought it can be used for only by UCI engines

With (2) you mean installing them in the winboard.ini file?

Yes...as far as i know currently its needed manually or with the help by any extra tm
But i would go and will preffer the way of creating/importing the engines as under rest GUIs,its much more easier...

Yes,i know that there is way in easier way,but again with a help by extra tm utility,
why not automatically importing the engines by itself of Winboard GUI ?!


I don't see how this could be done without knowledge, as WinBoard engines usually need arguments on their command line that are specific to the engine.

I am not a programmer,but as tester since many years honestly i can say Arena is one of the best GUIs
For example,Arena is very good GUI for importing engines,using books and running engine-matches,
but of course as under each GUI-there is one problem in ArenaGUI,where its too slow in running engine-matches,it takes (when the engines are terminating and pause between games)at least 20 seconds till next games

Of course,some of the rest GUIs have problems/bugs too,e.g:Fritz:
-some winboard engines dont play at full strenght,especially when is ponder on
-Fritz auto232 player does not work properly-always ponders even when the option is set to off
-Fritz book options:even when the book settings are optimized,the engine sometime is going out of book or playing a different weaker move
...

And here i have a few comments about AquariumGUI:
http://rybkaforum.net/cgi-bin/rybkaforu ... ?tid=14489

Btw,some UCI engines(e.g:Anaconda 2.2.2,Smarthink 1.20...) dont ponder under Winboard GUI
Note:i repeated the same test with the same engines under Fritz,Arena ...and noticed no problems with pondering


Best,
Sedat
Last edited by Sedat Canbaz on 29 Dec 2009, 14:45, edited 1 time in total.
Sedat Canbaz
 
Posts: 40
Joined: 16 Dec 2009, 10:44

Re: Any help about engines which dont terminate under Winboard

Postby Sedat Canbaz » 29 Dec 2009, 14:43

WinBoard has already a function to show the book moves of an engine.

Really ? so where is that button to show opening(during playing the game) ?
And you mean,the opening appears as under Fritz:
Image


with the options /firstXBook (/secondXBook) and /usePolyglotBook true.

Instead of the above wb commands,is there any plan to be used the books in easier way as under Fritz:
Image


Or is there any plan of creating/importing (as under ArenaGUI):
Image


Best,
Sedat
Sedat Canbaz
 
Posts: 40
Joined: 16 Dec 2009, 10:44

Re: Any help about engines which dont terminate under Winboard

Postby Sedat Canbaz » 29 Dec 2009, 15:34

Guenther Simon wrote:
Sedat Canbaz wrote:Hello Guenther,

Where can i find this command delay _after_ ? :)

There is no any command abut that in winboard.ini

Please help... :)


Well, I have it between the adjudication and the event tag parameters in all of my
WB folders(and I have a lot of them).

...
/adjudicateLossThreshold=-800
/delayBeforeQuit=100
/delayAfterQuit=500
/pgnEventHeader="RWBC PSWBTM RT103"
...


I should say few more things in case you are running more than one tourney, but you did not yet answer
if this is the case?
Another idea was coming up too, are the programs really hanging between two automatically played games or just
after you yourself stopped WB by aborting a game? (In the second case it is normal behaviour)

Guenther




/adjudicateLossThreshold=-700
/delayBeforeQuit=100
/delayAfterQuit=500
/pgnEventHeader="cr231"


Thanks,now with your recomendations worked...i mean the same engines (Colossus+Alfil...) are terminating under GalisWBTM

But its a very pitty that under PSWBTM still the above commands dont help and as before the same UCI engines dont terminate

So,now its quite clear that there is something wrong with PSWBTM+UCI Engines+Winboard GUI on my machine

About my tourneys:i have created one tournament with PSWBTM,but it seems GalisWBTM to be more stabil
And e.g under PSWBTM you can not use BookThinker for wb engines without books,where under GalisWBTM is possible

BTW,here is the winboard.debug where i can not run Thinker 5.4D under GalisWBTM:


recognized 'normal' (-1) as variant normal
WinBoard 4.20091217 + Ithinker64.exe
Reset(1, 0) from gameMode 0
recognized 'normal' (-1) as variant normal
GameEnds(0, (null), 2)
shuffleOpenings = 0
TC string = '+5'
mps=0 tc=300000 inc=0
TC string = '+5'
mps=0 tc=300000 inc=0
StartChildProcess (dir="C:\chess\engginnes\Thinker54D") Ithinker64.exe threads=4 hashsize=8
531 >first : xboard
protover 2
Fatal Error: Error writing to first chess program:
The pipe is being closed.
531 <first : error: not enough cores/processors
Fatal Error: Error: first chess program (Ithinker64.exe threads=4 hashsize=8 ) exited unexpectedly
GameEnds(38, Error writing to first chess program, 2)
2000 >first : result 0-1 {Error writing to first chess program}
2000 >first : force
2093 >first : quit


Best,
Sedat
Sedat Canbaz
 
Posts: 40
Joined: 16 Dec 2009, 10:44

Re: Any help about engines which dont terminate under Winboard

Postby Sedat Canbaz » 29 Dec 2009, 18:48

Oh..i am taking my words back,i can not run any single game under Galis manager

Probably as far as possible for maximum performance and strenght i will run:
1.UCI engines against UCI engines under Fritz
2.WB Engines against UCI engines under Arena
3.WB against WB engines under Winboard using PSWBTM

Best,
Sedat
Sedat Canbaz
 
Posts: 40
Joined: 16 Dec 2009, 10:44

Re: Any help about engines which dont terminate under Winboard

Postby H.G.Muller » 29 Dec 2009, 21:41

Sedat Canbaz wrote:
WinBoard has already a function to show the book moves of an engine.

Really ? so where is that button to show opening(during playing the game) ?
And you mean,the opening appears as under Fritz:

Well, we are probably not referring to the same thing. I see no book moves like I had in mind in the Fritz image you show; just the PGN of the game. Only the name of the opening books. Does this mean that Fritz supports separate GUI books for both engines? What I meant was the Help -> Book menu, which show you the moves the engine can choose from in the current position, in the engine book.

with the options /firstXBook (/secondXBook) and /usePolyglotBook true.

Instead of the above wb commands,is there any plan to be used the books in easier way as under Fritz:

I don't know Fritz, ad your screenshot shows many open dialogs, so it cannot be that simple... In WinBoard you would use the Optons -> Global Settings menu to check / uncheck the "Own Book", option for the engine, check "Use Book", and click "Browse" to select a book if you were not happy with the currently selected one.

Or is there any plan of creating/importing (as under ArenaGUI):

The dialog you show here is similar to the engine-manager dialog of PSWBTM. I would like the latter to be upgraded a bit, in particular to simply have a check box to indicate UCI, rather than having to type "WBopt -%sIsUCI true" in the parameter field. But otherwise the difference does not seem very big (judging from the screenshot).
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Any help about engines which dont terminate under Winboard

Postby H.G.Muller » 29 Dec 2009, 22:07

Sedat Canbaz wrote:Really ?,so its good news that even the WB engines can use the same opening book...
Normally i know that its available a default.bin,but i thought it can be used for only by UCI engines

Any book in Polyglot format would do; default.bin is an especially minimalist book provided as an example. Serious books are available from Guenther and Marc Lacrosse.

With (2) you mean installing them in the winboard.ini file?

Yes...as far as i know currently its needed manually or with the help by any extra tm
But i would go and will preffer the way of creating/importing the engines as under rest GUIs,its much more easier...

I never saw any point in having the list of engines in the winboard.ini file. I never put any engines there. It is not where you want to have a list of engines. It is the tournament manager that has to know about the engines, so they can be selected for tournaments. All engines I have on my Chess PC are installed in PSWBTM. None of them occurs in the winboard.ini file. It would be quite easy to add a menu to edit the engine list from WinBoard itself (adding or deleting engines), but I never did it as it seems to serve no point. You still couldn't select the engines for a tournament.

Yes,i know that there is way in easier way,but again with a help by extra tm utility,
why not automatically importing the engines by itself of Winboard GUI ?!

I like the modular approach, where different, largely independent tasks are performed by different programs. This offers flexibility; you can switch tournament manager or protocol adapter while still using the same GUI. I don't see why a design where you first start up PSWBTM, and then bring up the WinBoard window by clcikck PSWBTM menus would be any better than a design wher you first bring up WinBoard and then use the WinBoard menus to bring up the PSWBTM dialogs.


I don't see how this could be done without knowledge, as WinBoard engines usually need arguments on their command line that are specific to the engine.

I am not a programmer,but as tester since many years honestly i can say Arena is one of the best GUIs
For example,Arena is very good GUI for importing engines,using books and running engine-matches,
but of course as under each GUI-there is one problem in ArenaGUI,where its too slow in running engine-matches,it takes (when the engines are terminating and pause between games)at least 20 seconds till next games

What I mean is that, for instance, GNUChess 5.07 won't play as a WinBoard engine unless you start it as "GNUChess xboard", and POS 1.17 will not run unless you start it as "POS --io-mode xboard". How could an automatic install know that these arguments are needed?

Of course,some of the rest GUIs have problems/bugs too,e.g:Fritz:
-some winboard engines dont play at full strenght,especially when is ponder on
-Fritz auto232 player does not work properly-always ponders even when the option is set to off
-Fritz book options:even when the book settings are optimized,the engine sometime is going out of book or playing a different weaker move
...

And here i have a few comments about AquariumGUI:
http://rybkaforum.net/cgi-bin/rybkaforu ... ?tid=14489

Btw,some UCI engines(e.g:Anaconda 2.2.2,Smarthink 1.20...) dont ponder under Winboard GUI
Note:i repeated the same test with the same engines under Fritz,Arena ...and noticed no problems with pondering

Well, UCI engines can only run under WinBoard through an adapter, so maybe a Polyglot expert can comment on this. (I hardly ever run UCI engines.) I know that Polyglot has several work-around options to handle non-compliant engines, maybe it is just a matter of using these options.

Best,
Sedat[/quote]
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Previous

Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 36 guests