Page MenuHomePhabricator

Merge #12349: shutdown: fix crash on shutdown with reindex-chainstate
ClosedPublic

Authored by jasonbcox on May 2 2019, 18:47.

Details

Summary

ceaefdd fix possible shutdown assertion with -reindex-shutdown (Cory Fields)

Pull request description:

Fixes the assertion error reported here: https://github.com/bitcoin/bitcoin/pull/12349#issuecomment-365095741

Tree-SHA512: db8e2a275f92a99df7f17852d00eba6df996e412aa3ed3853a9ea0a8cb9800760677532efd52f92abbf2cdcc4210957a87a5f919ac998d46c205365a7a7dffca

Backport of Core PR 12349
https://github.com/bitcoin/bitcoin/pull/12349/files
Discovered while working on PR 12367 (D2906)
Depends on D2906

Test Plan

make check

On master, apply this patch:

diff --git a/src/init.cpp b/src/init.cpp
index 56520fe..8d7371d 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -2139,6 +2139,7 @@ bool AppInitMain(Config &config,
                         break;
                     }
                 }
+                fRequestShutdown = true;

                 if (!fReindex && !fReindexChainState) {
                     uiInterface.InitMessage(_("Verifying blocks..."));

Then run:
gdb --args ./src/bitcoind -connect=0 -testnet -reindex-chainstate
A crash should be encountered.

Apply the same patch above on this diff and run the same command above.
GDB should report a successful program exit.

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable