Houdini 6 Caused Exception Error

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

Moderators: Harvey Williamson, bob, hgm

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
Nordlandia
Posts: 2664
Joined: Fri Sep 25, 2015 7:38 pm
Location: Sortland, Norway

Re: Houdini 6 Caused Exception Error

Post by Nordlandia » Fri Sep 22, 2017 12:25 pm

Unfortunately nalimov egtb is only supported on Pro version.

I tried Houdini 6 Standard.exe but that compile does not support DTM.

CheckersGuy
Posts: 273
Joined: Wed Aug 24, 2016 7:49 pm

Re: Houdini 6 Caused Exception Error

Post by CheckersGuy » Fri Sep 22, 2017 1:16 pm

Everyone who buys Houdini 6 and uses gmail should check their spamfolder. Just bought houdini 6 and was like "Where the hell is this freaking email" until I checkedthe spamfolder :lol:

User avatar
Houdini
Posts: 1471
Joined: Mon Mar 15, 2010 11:00 pm
Contact:

Re: Houdini 6 Caused Exception Error

Post by Houdini » Sat Sep 23, 2017 8:38 pm

Nordlandia wrote:Unfortunately nalimov egtb is only supported on Pro version.

I tried Houdini 6 Standard.exe but that compile does not support DTM.
Jon Fredrik, we've been able to trace down the Nalimov crash issue to a compilation difference between Visual Studio and gcc (code that works well in VS doesn't seem to work in gcc, for reasons I still don't quite understand).
We're writing a work-around and the solution will be made available in a Houdini 6.01 update.

User avatar
Nordlandia
Posts: 2664
Joined: Fri Sep 25, 2015 7:38 pm
Location: Sortland, Norway

Re: Houdini 6 Caused Exception Error

Post by Nordlandia » Sat Sep 23, 2017 9:17 pm

Houdini wrote:
Nordlandia wrote:Unfortunately nalimov egtb is only supported on Pro version.

I tried Houdini 6 Standard.exe but that compile does not support DTM.
Jon Fredrik, we've been able to trace down the Nalimov crash issue to a compilation difference between Visual Studio and gcc (code that works well in VS doesn't seem to work in gcc, for reasons I still don't quite understand).
We're writing a work-around and the solution will be made available in a Houdini 6.01 update.
Much appricated indeed. This is excellent news.

Ras
Posts: 1467
Joined: Tue Aug 30, 2016 6:19 pm
Full name: Rasmus Althoff
Contact:

Re: Houdini 6 Caused Exception Error

Post by Ras » Sat Sep 23, 2017 9:44 pm

Houdini wrote:code that works well in VS doesn't seem to work in gcc, for reasons I still don't quite understand
GCC has become much pickier about exploiting undefined behaviour for optimisation. Means, assuming that the code doesn't exhibit undefined behaviour, but if it does, then all bets are off what the compiled binary will do.

The usual suspects here are e.g. pointer null checks after dereferencing. Even if that happens only in one rare code path, GCC may just eliminate the whole null pointer check.

Another frequent source is pointer aliasing. GCC has been assuming no pointer aliasing since version 4.9 per default when optimising with -O02 or higher. If the code crashes but stops doing so when using -fno-strict-aliasing , then you have an aliasing issue. I recommend testing with strict pointer aliasing, but unless benchmarks prove that there is a significant speed gain, I'm using -fno-strict-aliasing for release builts.

Another thing is that strictly speaking, signed integer overflow isn't defined in C because the compiler is free to choose any implementation. 2's complement, 1's complement or absolute value plus sign. These days, every machine has 2's complement, but it isn't in the standard. Testing a build with -fno-strict-overflow may be useful.

Sometimes, GCC can catch such things at compile time when using:
-Wall -Wmaybe-uninitialized -Wstrict-aliasing -Wlogical-op -Wno-cast-align

Last, GCC offers a bunch of sanitiser options:
-fsanitize=address
-fsanitize=bounds
-fsanitize=object-size
-fsanitize=alignment
-fsanitize=null
-fsanitize=undefined
-fsanitize=shift
-fsanitize=signed-integer-overflow
-fsanitize=integer-divide-by-zero

Use these for compiling/linking and run the binary. Error messages will be visible on stdout (or stderr, don't remember). Works only under Linux, not with MingW or Cygwin.

Oh, and from my experience, the MS C runtime can be happy with things like closing open files twice, but I remember crashes when doing this with GCC. May also apply to freeing memory twice.

tpoppins
Posts: 919
Joined: Tue Nov 24, 2015 8:11 pm
Location: upstate

Re: Houdini 6 Caused Exception Error

Post by tpoppins » Sun Sep 24, 2017 5:50 am

Houdini wrote:we've been able to trace down the Nalimov crash issue [...]
We're writing a work-around and the solution will be made available in a Houdini 6.01 update.
Nice, I've seen that crash as well - with v5 (incl. v5.01) but have yet to use Nalimov with the v6.

Robert, last year, a little before the v5.01 update I requested a small feature and reported some minor issues (here and the next post) but it seems like they all slipped by you. I suppose I should have tried email...

Well, now that you're planning another update, perhaps you could have a look at the old posts linked above.

I also share the sentiment expressed elsewhere in this thread that a year is rather a long time between new versions. Sure, if Houdini 7 should (God forbid) come out in 2020 rather than next year you can still count on a loyal customer here; still, it would be nice to have an update at least every six months.

User avatar
Houdini
Posts: 1471
Joined: Mon Mar 15, 2010 11:00 pm
Contact:

Re: Houdini 6 Caused Exception Error

Post by Houdini » Sun Sep 24, 2017 8:58 am

tpoppins wrote:Robert, last year, a little before the v5.01 update I requested a small feature
Implementing a "Hide fail low/high" option is straightforward.
My only reluctance is that another UCI option is added that clutters the options window, needs explaining and will not be used by 95+% of the users :).
tpoppins wrote: and reported some minor issues (here and the next post)
That behavior was actually as intended. The additional line of output is the summary of the iteration (=depth). Still, it does seem like a good idea to be able to turn off this redundant output if the GUI doesn't handle that very well.

I suggest to call the option "Hide redundant output". This would disable the fail high/low lines as well as the summary line at the end of each iteration. I'll try to add it to Houdini 6.01.

User avatar
Nordlandia
Posts: 2664
Joined: Fri Sep 25, 2015 7:38 pm
Location: Sortland, Norway

Re: Houdini 6 Caused Exception Error

Post by Nordlandia » Sun Sep 24, 2017 9:11 am

Any scheduled release date for Houdini 6.01 yet?

User avatar
Houdini
Posts: 1471
Joined: Mon Mar 15, 2010 11:00 pm
Contact:

Re: Houdini 6 Caused Exception Error

Post by Houdini » Sun Sep 24, 2017 10:06 am

ASAP. It will depend on the solution of the error with the Pro version.

User avatar
Nordlandia
Posts: 2664
Joined: Fri Sep 25, 2015 7:38 pm
Location: Sortland, Norway

Re: Houdini 6 Caused Exception Error

Post by Nordlandia » Sun Sep 24, 2017 10:28 am

Small request: make Houdini play chess well if more than regular number of pieces is on the board. Stockfish support this mode.

Houdini start to play weird once more than allowed pieces is one the board.

Example position

[d]1nbqqbnk/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w - - 0 1

[d]nnnnknnn/pppppppp/8/8/8/8/PPPPPPPP/1Q1QK1Q1 w - - 0 0

[pgn][Event "?"]
[Site "CuteChess 1.0.0 | i7-5960X 4.1GHz 8-Core"]
[Date "2017.09.24"]
[Round "?"]
[White "Houdini 6"]
[Black "stockfish_x64_bmi2"]
[Result "0-1"]
[FEN "1nbqqbnk/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w - - 0 1"]
[PlyCount "8"]
[SetUp "1"]
[Termination "illegal move"]
[TimeControl "720+12"]

1. d4 {+0.27/25 52s} d5 {+1.68/29 46s} 2. c4 {+0.43/23 17s} dxc4 {+2.34/25 9.9s}
3. e3 {+0.25/27 40s} e5 {+2.72/28 10s} 4. Bxc4 {+0.40/24 14s}
exd4 {+3.27/26 11s, White makes an illegal move: e3d4} 0-1

[/pgn]

Post Reply