From 1fd3492edddc57219034818289344d463ca55185 Mon Sep 17 00:00:00 2001 From: Peter Osterlund Date: Wed, 10 Apr 2019 20:32:19 +0200 Subject: [PATCH] Fix stockfish crash. Merge commit 4e2bb8fa44fe03a2fdb2d3448ac93986354bf9ae from https://github.com/official-stockfish. --- DroidFishApp/src/main/cpp/stockfish/search.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/DroidFishApp/src/main/cpp/stockfish/search.cpp b/DroidFishApp/src/main/cpp/stockfish/search.cpp index 62788fa..cd7cd2c 100644 --- a/DroidFishApp/src/main/cpp/stockfish/search.cpp +++ b/DroidFishApp/src/main/cpp/stockfish/search.cpp @@ -303,6 +303,7 @@ void MainThread::search() { void Thread::search() { Stack stack[MAX_PLY+7], *ss = stack+4; // To reference from (ss-4) to (ss+2) + Move pv[MAX_PLY+1]; Value bestValue, alpha, beta, delta; Move lastBestMove = MOVE_NONE; Depth lastBestMoveDepth = DEPTH_ZERO; @@ -314,6 +315,7 @@ void Thread::search() { std::memset(ss-4, 0, 7 * sizeof(Stack)); for (int i = 4; i > 0; i--) (ss-i)->continuationHistory = &this->continuationHistory[NO_PIECE][0]; // Use as sentinel + ss->pv = pv; bestValue = delta = alpha = -VALUE_INFINITE; beta = VALUE_INFINITE; @@ -758,8 +760,9 @@ namespace { } // Step 7. Razoring (~2 Elo) - if ( depth < 2 * ONE_PLY - && eval <= alpha - RazorMargin) + if ( !rootNode // The required rootNode PV handling is not available in qsearch + && depth < 2 * ONE_PLY + && eval <= alpha - RazorMargin) return qsearch(pos, ss, alpha, beta); improving = ss->staticEval >= (ss-2)->staticEval