From 77fabffef4ea840ee15c97061048fe8443d74658 Mon Sep 17 00:00:00 2001 From: Ryan Ofsky Date: Mon, 29 Apr 2019 15:29:00 -0400 Subject: [PATCH] init: Remove Shutdown() node.args reset This commit removes the `node.args = nullptr` assignment in the Shutdown() function. Clearing node.args there never made sense because it made the Shutdown() function not idempotent, making it fragile and causing issues like https://github.com/bitcoin/bitcoin/issues/23186. The assignment also causes segfaults in GUI unit tests when a new node().initParameterInteraction() call is added in OptionsModel to apply to Qt settings (happens because AppTests calls Shutdown() which sets node.args to null, and OptionTests runs after AppTests and then needs node.args not to be null.) --- src/init.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/init.cpp b/src/init.cpp index f06b5bd0d06..c9e05026cf7 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -320,7 +320,6 @@ void Shutdown(NodeContext& node) LogPrintf("%s: Unable to remove PID file: %s\n", __func__, fsbridge::get_filesystem_error_message(e)); } - node.args = nullptr; LogPrintf("%s: done\n", __func__); }