Dave K wrote:The new updated JA version appears to correct this, but the "Always from white side" switch in Arena must be on.
Dave
Better stilll is to flip scores individually per engine only, if needed.
ChessGUI has a "Flip Black Scores" that "corrects" scores of some Craftys.
Not all Craftys need it.
BBauer wrote:Hy Bob,
latest Crafty crashes when hash=2048M.
Downloaded from your side, own linux build, 64-bit mode.
kind regards
Bernhard
This was fixed quite a while back, a day or two after 23.1 was released. Have you tried this recently with a fresh download? There was a typecast error caused when I removed some windows changes that failed, and I somehow managed to restore the wrong utility.c code that had the bad types that failed with > 32bit address spaces. hash=2048M produces a negative 32 bit number which would cause the malloc() to completely fail.
Yes, I downloaded crafty23.1 a weak ago and compiled again.
Aparantly the fix has not found the way to the sources.
BTW your Makefile is very old and some options are outdatet.
kind regards
Bernhard
BBauer wrote:Yes, I downloaded crafty23.1 a weak ago and compiled again.
Aparantly the fix has not found the way to the sources.
BTW your Makefile is very old and some options are outdatet.
kind regards
Bernhard
No idea with that. I have used hash sizes of 16 gigabytes with no problem, and others in our group tested it on various systems. There might well be an issue on 32 bit systems using that much hash, am not sure about that one... I'll try to find a 32 bit machine and test. It seems fine on 64 however.
BBauer wrote:Yes, I downloaded crafty23.1 a weak ago and compiled again.
Aparantly the fix has not found the way to the sources.
BTW your Makefile is very old and some options are outdatet.
kind regards
Bernhard
Feel free to make changes and send me the new Makefile. I don't have anywhere near all of the systems included in the Makefile and only update things when someone sends me a working version. I prefer a complete Makefile so that I don't try to merge changes that might not work correctly, and which I can't verify either. If you want to update something, feel free. Help is always welcome.
I think the 2gb problem is 32 bit related. I verified that the malloc() code is passing the right type, and I have printed the value out. Malloc() is simply not happy as soon as it hits exactly 2048mb. There was a bug previously that allocated a tiny bit less than 2048m, although it fortunately never seemed to cause a crash. But I rewrote all of that and cleaned it up and it isn't working for 32 bits, for sure. I'm trying to locate the glibc source for malloc() to see what it does and if there is a hard < 2gb limit for 32bit systems. 64bit machines can grab whatever they want since we have something like 48 bits of virtual address space.
BBauer wrote:No!
I use a 64-bit ubuntu-linux und compile for it.
Perhaps the fix to the old bug did not find its way into the source code.
kind regards
Bernhard
I checked and it is there... I downloaded that to my laptop and hash=4096M works just fine here. But it definitely fails on my office box. Are you certain that is a 64 bit linux and that you are using 64 bit linux libs? you can still run a 32 bit program on a 64 bit system and that might run into this limit issue.
No, I am not certain that I build a 64-bit compile.
I even dont know how to build a specific 32-bit or 64-bit crafty.
But I I used a -D????64 for compiling and my nps are good, so I think its a 64-bit compile. On Manday I can give you the exact compiler flags and everything else.
Kind regards
Bernhard
and build crafty by make linux.
Using hash=2048M gives
White(1): time surplus 0.00 time limit 10:00 (+0.00) (10:00)
depth time score variation (1)
Segmentation fault