It is only a problem for more than one thread.bob wrote:Why would it crash? windows and linux both now use threads and the old exit(0) problem has been removed. I'm not aware of anything that breaks on windows with 22.2 and beyond. 22.1 had a problem for sure.Dann Corbit wrote:Be aware that it's going to crash on Windows if you use more than one thread.
There is a patched version here, but it only contains a 64 bit binary:
http://cap.connx.com/chess-engines/new- ... ty22-3.zip
However, anyone can recompile the code.
Here is the problem from file init.c:
Code: Select all
#if defined(_WIN32) || defined(_WIN64)
ThreadMalloc((int) 0);
#else
This allocates memory only for the first CPU, but not for subsequent CPUS.
It should be:
Code: Select all
#if defined(_WIN32) || defined(_WIN64)
{
size_t index;
for (index = 0; index < CPUS; index++)
ThreadMalloc(index);
}
#else