LeonardoVinci re: How to compile IVH 53 under Windows?
LeonardoVinci Yesterday 10:01 pm
I had the same problem and replaced in Robbolito.h teh follwoing define:
// #define TRY_LOCK(x) WaitForSingleObject (x, 0) /* HACK */
#define TRY_LOCK(x) (!TryEnterCriticalSection (x))
Since then the problem hasn't occurred anymore.
permalink
Angels_77 re: How to compile IVH 53 under Windows?
Angels_77 Yesterday 10:09 pm
+1 :)
you two make best team :)
permalink
rockford re: How to compile IVH 53 under Windows?
rockford Today 6:30 am
great work guys trying to make ivanhoe better for windows also : +2 :) for all the efforts and contributions.Viva open source baby!
Decembrist-57703 re: How to compile IVH 53 under Windows?
Decembrist-57703 Today 11:53 am
TRY_LOCK is only used in Robbo_cache.c and it should make no SMP reasons, for when RobboTotalBase is used the number of active CPUs must be one, unless you are in RobboBuild.
permalink
Vlad0 re: How to compile IVH 53 under Windows?
Vlad0 Today 5:15 pm
Yesterday I roughly localized the reason
of this bug just looking through the crashed
parties by Fritz. In all cases the engine fall
asleep immediately after the number of pieces became 5, so that search through Total robbobases should be switched on at that moment instead of regular game search tree.
So I supposed that something is wrong in
Total base code. To check this I began
200 blitz 1+0 games with 9.53b but without
Total bases (on both engines). The result was:
1 IvanHoe 53bU-x64 +41 +51/=119/-28 55.81% 110.5/198
2 IvanHoe 9.53b x64 -41 +28/=119/-51 44.19% 87.5/198
My compilation have not fell asleep even once! Though "no move" bug occured 2 times
(both in my compilation). But even with 2 points added to 9.53b my engine leads with 21 points. Both engines have the same UCI setting. Including switched on Large Pages.
Though localized roughly the exact reason of
this bug remained unclear for me until I've read the post of LeonardoVici above (Many thanks to him!) Then I remembered that the same his correction I've already made in v.55,
where the same sleeping bug occured. I looked
at Robbolito.h of v.53 and saw that the definition of TRY_LOCK(x) in it is absolutely
buggy! Would KLO had not corrected it in his
modification, he would NEVER get a stable engine! And, imo, at least this CRUCIAL bug fix in Robbolito.h must be published together
with the KLO compiled engines.
permalink