dturevski / olive-gui

Olive is a free open source cross-platform graphical front-end for Popeye chess software and more.
GNU General Public License v3.0
14 stars 5 forks source link

Popeye option NoThreat: run/output fails #32

Closed athulin closed 3 years ago

athulin commented 3 years ago

Using latest version of Olive, with default setup (Olive 1.3 (nt), Python 3.7.4, Qt 5.13.1), i.e. included popeye executable:

Test problem:

BeginProblem
Stipulation #4
Option Variation NoBoard
Pieces
  white  Sh1e4 Kg1 Rd3 Pf4b7 Qb5 Bh6g6
  black  Se1d2 Bd1c5 Kf3 Pe3h4 Ra3 Qa7
EndProblem

This gives no problems, and the popeye output is terminated by solution finished. Time = 2.612 s

as expected.

Now, instead add the option 'NoThreat':

BeginProblem
Stipulation #4
Option Variation NoBoard NoThreat
Pieces
  white  Sh1e4 Kg1 Rd3 Pf4b7 Qb5 Bh6g6
  black  Se1d2 Bd1c5 Kf3 Pe3h4 Ra3 Qa7
EndProblem

This time, the Popeye output ends with some very odd-looking data:

Popeye Windows-64Bit v4.85 (10 GB)

   1.Rd3*a3 !
  [ ... omitted ]
      1...Sd2-f1
          2.Qb5*f1 +
              2...Kf3-g4
                  3.Se4-f6 #
Terminated
      1...Sd2*e4
          2.Bg6-h5 #
Terminated

If I do this manually with Popeye, everything works fine. It looks as if something about NoThreat upsets Olive in some way.

Added: This does not seem 100% repeatable. At some times, I get only one 'Terminated' line.

dturevski commented 3 years ago

By default Olive is configured to terminate the Popeye if the output exceeds 81920 characters. This setting can be overridden by editing the corresponding config file (Olive must be exited first): https://github.com/dturevski/olive-gui/blob/master/conf/popeye.yaml