ChessGUI and Chess960

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

Moderator: Ras

User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: ChessGUI and Chess960

Post by Evert »

Ok, I have uploaded a revised version of Sjaak for testing,Windows binaries here: http://www.eglebbk.dds.nl/program/downl ... 14-win.zip

I would particularly like to know two things:
1. Does it run correctly under Windows (including for large variants, like Capablanca) or does it crash (64 and 32 bit)?
2. Does castling work correctly now under FRC (it should)?

Thanks in advance for everyone willing to give it a go!

If all seems well I will do a "proper" release of the new version.
enhorning
Posts: 342
Joined: Wed Jan 05, 2011 10:05 pm

Re: ChessGUI and Chess960

Post by enhorning »

32-bit version works for me, 64-bit version crashes. Winboard debug log indicates it loads and sends some stuff back and forth and then dies:

StartChildProcess (dir="C:\Users\Ola Mikael Hansson\Desktop\Sjaak-514-win\Sjaak") xsjaak-514-win64-sse42.exe
nice engine proc to 10
8377 >first : xboard
protover 2
8380 <first : #[-]>
8380 <first : feature setboard=1 time=1 sigint=0 colors=0 highlight=1 analyze=1 ping=1 memory=1 pause=1 nps=1 myname="Sjaak 514" myversion="[514 Feb 15 2013] (unknown)"
8380 >first : accepted setboard
8380 >first : accepted time
8381 >first : accepted sigint
8381 >first : accepted colors
8381 >first : rejected highlight
8381 >first : accepted analyze
8381 >first : accepted ping
8381 >first : accepted memory
8381 >first : accepted pause
8381 >first : accepted nps
8381 >first : accepted myname
8381 >first : rejected myversion
8381 <first : feature variants="normal,berolina,spartan,amazon,knightmate,maharaja,makruk,shatranj,fischerandom,seirawan,pocketknight,capablanca,gothic,10x8+0_janus,caparandom,courier,xiangqi,grand,10x8+0_fairy,10x10+0_fairy,9x9+0_fairy,8x8+2_fairy,fairy"
8382 >first : accepted variants
8382 <first : feature option="Variant configuration file -file "
8382 >first : accepted option
8382 <first : feature option="Variant fairy selects -combo Normal (8x8) /// Amazon (8x8) /// Grand (10x10) /// Indian Grand (10x10) /// Maharaja (8x8) /// Pocket Knight (8x8+1) "
8382 >first : accepted option
8382 <first : feature option="Variant seirawan selects -combo None /// Pocket Knight /// Burmese"
8383 >first : accepted option
8383 <first : feature option="Load variants -reset"
8383 >first : accepted option
8383 >first : rejected option Load variants -reset
8383 <first : feature done=1
8383 >first : accepted done
recognized 'normal' (-1) as variant normal
8397 >first : memory 516
8397 >first : new
random
8397 >first : level 40 30000 0
8397 >first : post
8397 >first : hard
8397 >first : easy
8397 >first : ping 1
Impossible move , type = 0
Fatal Error: Error: first chess program (xsjaak-514-win64-sse42.exe) exited unexpectedly
GameEnds(26, Error: first chess program (xsjaak-514-win64-sse42.exe) exited unexpectedly, 2)
15804 >first : result 0-1 {Error: first chess program (xsjaak-514-win64-sse42.exe) exited unexpectedly}
15804 >first : force
15804 >first : ping 2
15804 >first : quit

Feel free to email me if you want me to test binaries.
User avatar
hgm
Posts: 28353
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: ChessGUI and Chess960

Post by hgm »

Suggests it crashes on the memory command. Free() on an address that was adjusted first to align it? Some of my engines did that, and 32-bit Windows seems resistant to that.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: ChessGUI and Chess960

Post by Evert »

enhorning wrote: Feel free to email me if you want me to test binaries.
Thanks, I will! :)
Typically, I can't reproduce the problem here. :?
I'll add a ton of trace statements and let you know later today.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: ChessGUI and Chess960

Post by Evert »

hgm wrote:Suggests it crashes on the memory command. Free() on an address that was adjusted first to align it? Some of my engines did that, and 32-bit Windows seems resistant to that.
I've indeed had crashes in the past due to problems with alignment and the last patch I committed yesterday did have to do with that, but nevertheless I suspect this isn't the problem here (but I will of course double-check this).

I suspect, based on a similar experience with Leonidas, that the logfile is actually a bit misleading in this situation. In that case it also seemed that the crash was due to the memory command, but switching on logging on the engine side showed that the crash actually happened before receiving the "memory" command, during the initialisation of an evaluation table. I worked around that by hard-coding the initialisation of the table, but I actually still don't know why it would crash there (I asserted for memory overruns).

Note that I did run through valgrind and it didn't find anything wrong... :(
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: ChessGUI and Chess960

Post by Evert »

Evert wrote:I suspect, based on a similar experience with Leonidas, that the logfile is actually a bit misleading in this situation. In that case it also seemed that the crash was due to the memory command, but switching on logging on the engine side showed that the crash actually happened before receiving the "memory" command, during the initialisation of an evaluation table. I worked around that by hard-coding the initialisation of the table, but I actually still don't know why it would crash there (I asserted for memory overruns).
Ok, we've found the problem: the program (64 bit, Windows, cross-compiled under Linux) crashes when it calls the exp() function, which it uses to initialise some evaluation tables.

Question is why: there seems to be no good reason for it, and it works perfectly fine when I run the program under Linux. Apparently (at least for earlier versions) Jim Ablett's compiles were also fine.

Any thoughts greatly appreciated, I'm stumped; I started a thread on the technical discussion forum, but I thought I'd mention it here just in case.