Engine xxx has died on me.

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

Engine xxx has died on me.

Postby Gábor Szots » 12 Mar 2017, 09:27

I get that error message with Mediocre, a java engine. I use the latest AA, this did not happen before. What does it mean and what is the cure?

Thanks in advance.
Gábor Szőts

CCRL testing group
User avatar
Gábor Szots
 
Posts: 327
Joined: 26 Sep 2004, 21:26
Location: Szentendre, Hungary

Re: Engine xxx has died on me.

Postby H.G.Muller » 13 Mar 2017, 08:47

This is a message that UCI2WB sends to the GUI for presentation to the user (with the CECP 'tellusererror' command), when an attempt to read from the engine returns an end-of-file condition. (Which is the operating system's way of telling it that no message will ever be coming from it, e.g. because the engine process already exited, or because the engine closed its standard-output channel. Note that in this case the 'engine' is really the Java interpreter.) A similar situation in WinBoard (i.e. when you run the engine directly, without any adapter) would lead to the WinBoard error popup 'engine exited unexpectedly'.

I am not sure how this can be fixed; it seems a Java or Mediocre problem. What exactly is the engine line you used for Mediocre?
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Engine xxx has died on me.

Postby Gábor Szots » 13 Mar 2017, 20:15

H.G.Muller wrote:This is a message that UCI2WB sends to the GUI for presentation to the user (with the CECP 'tellusererror' command), when an attempt to read from the engine returns an end-of-file condition. (Which is the operating system's way of telling it that no message will ever be coming from it, e.g. because the engine process already exited, or because the engine closed its standard-output channel. Note that in this case the 'engine' is really the Java interpreter.) A similar situation in WinBoard (i.e. when you run the engine directly, without any adapter) would lead to the WinBoard error popup 'engine exited unexpectedly'.

I am not sure how this can be fixed; it seems a Java or Mediocre problem. What exactly is the engine line you used for Mediocre?


I used a batch file with a single line: java -Xmx1024M -jar mediocre_v0.5.jar

Since then I reinstalled the engine under WB in the regular way, by pointing to the jar file, and later I edited the line in WB.ini to include the -Xmx1024M part. No problem since then.
Gábor Szőts

CCRL testing group
User avatar
Gábor Szots
 
Posts: 327
Joined: 26 Sep 2004, 21:26
Location: Szentendre, Hungary

Re: Engine xxx has died on me.

Postby H.G.Muller » 15 Mar 2017, 00:00

I never used batch files, but I heard that other people sometimes also seem to have trouble with those. It seems that some commands try to get input from the file, rather than from the agent that invoked the file.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Engine xxx has died on me.

Postby Gábor Szots » 02 Apr 2017, 19:51

Hmm, now I use the following line in my winboard.ini for Fischerle (and a similar one for all java engines):

"Fischerle 0.9.80 SE 64-bit" -fcp "java -Xmx1024M -jar Fischerle.jar uci" -fd "E:\Sakk\UCI-engines\Fischerle\dist" -fn "Fischerle 0.9.80 SE 64-bit" -fNoOwnBookUCI -fUCI

And I notice that task manager shows an increasing number of java.exe instances, slowly filling the memory. As though UCI2WB had problems when a game is over with a java UCI engine.
Gábor Szőts

CCRL testing group
User avatar
Gábor Szots
 
Posts: 327
Joined: 26 Sep 2004, 21:26
Location: Szentendre, Hungary

Re: Engine xxx has died on me.

Postby H.G.Muller » 02 Apr 2017, 22:12

Make sure -delayAfterQuit is set to a non-zero value. (I thought I did that in the install, but you ever know.) Running through an adapter is always tricky, because if an engine doesn't exit quickly enough after receiving a 'quit' command, WinBoard will try to kill it. But then it will kill the adapter. Perhaps before the adapter got the chance to kill an engine that did not react to 'quit'. Killing processes on Windows is an unreliable process anyway.

When I have some more time I will try to check it out. If the problem is that the engine somehow does not respond to 'quit', and Windows will not honor a request by GUI or adapter to forcefully terminate it, there is very little that can be done.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Engine xxx has died on me.

Postby Gábor Szots » 09 Apr 2017, 18:15

My last try was a complete failure. I wanted to run a gauntlet with Pulse 1.6.1 64-bit which, although I am not sure about that, is a java engine but also has an exe. I used the latter and after some time I was horrified to see a lot of Pulse instances occupying my memory.

Somehow I think UCI2WB does not like java engines. I don't remember having much trouble with Polyglot.
Gábor Szőts

CCRL testing group
User avatar
Gábor Szots
 
Posts: 327
Joined: 26 Sep 2004, 21:26
Location: Szentendre, Hungary

Re: Engine xxx has died on me.

Postby H.G.Muller » 10 Apr 2017, 23:08

OK, I will check out how Polyglot terminates an engine, to see if it has a smarter way than UCI2WB.

As I am currently very busy with other urgent stuff, it might take a few weeks before I get to it, though.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL


Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 30 guests