Myracle GUI

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

Moderator: Ras

mar
Posts: 3043
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

build 142 is up:
- don't check SyzygyPath for engine default pameter changes
- use d:hh:mm:ss for elapsed/remaining time if 24 hours or more
Modern Times
Posts: 3955
Joined: Thu Jun 07, 2012 11:02 pm

Re: Myracle GUI

Post by Modern Times »

Thanks. I'll try later. Nothing had changed for obsidian or any other engine. Obsidian had worked previously and then just didn't. I can email you a screenshot of the error.
mar
Posts: 3043
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

sure e-mail or a pm would be fine. if the message is something like

Code: Select all

engine_name: default changed for parameter SyzygyPath: old ? new ?
then that's what I suspect happened (and this new build should fix that).
what I find strange is that something would default to a hardcoded fixed path - and having checked all obsidian versions with SyzygyPath
they all have the same default value

either way, please let me know if the problem still persists with 142

EDIT: an alternative fix for 141 would be to go to engine options and click detect in engine options, assuming it's what I think it is
Modern Times
Posts: 3955
Joined: Thu Jun 07, 2012 11:02 pm

Re: Myracle GUI

Post by Modern Times »

I posted the screenshot here, if you have access to that:

https://discord.com/channels/1275497005 ... 5791051832

One thing I noticed is that the paths parameters all have a forward slash, and the sysgy path in engine parameters (navigating to it) shows a back-slash, if that matters. That may have always been the case but this is the first time I noticed.
Modern Times
Posts: 3955
Joined: Thu Jun 07, 2012 11:02 pm

Re: Myracle GUI

Post by Modern Times »

Ah, I just did DETECT as you suggested, the path cleared, then I navigated to the folder and it then stored it with a forward slash.
mar
Posts: 3043
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

I don't do discord, sorry.

my GUI and framework always works with forward slashes only, even on Windows this should be no problem.
looks like the original options were perhaps imported from elsewhere (cutechess?)

either way, forward/backward slashes shouldn't matter at all on Windows.

so I assume build 142 and/or detect did resolve the issue?

note that detect should not change actual values unless the default has changed - in which case it would use the new default (which is empty)
i.e. if value = default value and default value changes for a parameter (relative to what's stored in engine settings), detect will change it to a new default

so technically speaking, in 141 everything worked exactly as intended.
just that for SyzygyPath this is a bit annoying so it's now ignored. I've no idea why anyone would hardcode default syzygypath
to a random local location, perhaps it was a custom build or maybe even hand-edited in engine.json in cutechess?

the problem with this is that unless it's overriden, it might load syzygy for that engine that was not intended.
I will keep it as is in build 142, so default value change for SyzygyPath will be ignored for now and whatever is in there will be sent to the engine.

so if engines.json has value = default for SyzygyPath as c:\syzygy5, the GUI will now send that to the engine now even if default is empty instead of aborting with that error message
perhaps the original behavior was better, since the error message even says/hints what to do to fix it

another option would be that if value=default stored in settings, just send the new default instead (which is what detect does),
but even that may not be intended
Last edited by mar on Tue Oct 06, 2026 8:24 am, edited 1 time in total.
Modern Times
Posts: 3955
Joined: Thu Jun 07, 2012 11:02 pm

Re: Myracle GUI

Post by Modern Times »

Probably imported from cutechess at the beginning, but it worked before, and then it just didn't when I put the build 141 files there. Not sure what to do now - I guess just upgrade to build 142 and check everything runs, and that engines that should be using the sysygy bases actually are.
mar
Posts: 3043
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

the default value validation is a relatively fresh feature, so it's been there for a couple of builds already
it's an important validation to catch potentially misconfigured engines as I explained

now I'm not sure the fix in 142 to ignore SyzygyPath default value is a great thing but I'll keep it as is.
whatever people have in options for SyzygyPath will be sent to the engine in that case, regardless of whether the default value the engine exports has changed compared to what's stored in engine settings

so - it worked in some older build without complaints because that build didn't have the default value check
Modern Times
Posts: 3955
Joined: Thu Jun 07, 2012 11:02 pm

Re: Myracle GUI

Post by Modern Times »

Right, OK. Yes the build I was using before was more than 2 versions back.

I only have 20 engines installed so I repointed the Syzygy Path on each just to be safe - and many were backward slash and are now forward slash, although as you said that should not have mattered. New tournament about to start :) Thanks again for this great GUI.
mar
Posts: 3043
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

let me explain again the motivation behind this on the Princhess example (this is what happened during real testing resulting in flawed results):

Princhess 0.20 exposes this:

Code: Select all

option name TMPvDiffM type spin default 461 min 0 max 131072
but Princhess 0.21 changed the defaults to this:

Code: Select all

option name TMPvDiffM type spin default 121 min 0 max 131072
what happened was that Andres simply installed a new princhess over the old, but in engines.json old value were stored
from an old version
due to how things work, the GUI simply used and sent the old values to 0.21, so TMPvDiffM was set to 461 instead of 121,
resulting in flawed tests that cost some elo

so in newer builds, if a default value changes and the GUI finds a discrepancy between what's stored in engines.json and what the engine
exposes, it assumes it's misconfigured and stops with an error, giving hints to what could have happened

another option would be to send the new default instead automatically, but again that may or may not be the right thing to do.
so I prever to simply stop with an error until the engine is reconfigured

(note that detect will change to new default automatically if it detects that value was old default)