Page 1 of 1

Engine xxx has died on me.

PostPosted: 12 Mar 2017, 09:27
by Gábor Szots
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.

Re: Engine xxx has died on me.

PostPosted: 13 Mar 2017, 08:47
by H.G.Muller
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?

Re: Engine xxx has died on me.

PostPosted: 13 Mar 2017, 20:15
by Gábor Szots
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.

Re: Engine xxx has died on me.

PostPosted: 15 Mar 2017, 00:00
by H.G.Muller
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.

Re: Engine xxx has died on me.

PostPosted: 02 Apr 2017, 19:51
by Gábor Szots
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.

Re: Engine xxx has died on me.

PostPosted: 02 Apr 2017, 22:12
by H.G.Muller
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.

Re: Engine xxx has died on me.

PostPosted: 09 Apr 2017, 18:15
by Gábor Szots
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.

Re: Engine xxx has died on me.

PostPosted: 10 Apr 2017, 23:08
by H.G.Muller
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.