Skip to content

Commit

Permalink
refactor: Use AbortError in FatalError
Browse files Browse the repository at this point in the history
Summary:
```
FatalError has been copied from AbortNode, so the two should use the
same style to avoid confusion.

Follow-up to #18927
```

Backport of core [[bitcoin/bitcoin#19295 | PR19295]], [[bitcoin/bitcoin#19309 | PR19309]] and [[bitcoin/bitcoin#19331 | PR19331]].
[[bitcoin/bitcoin#19295 | PR19295]] is the original intent
[[bitcoin/bitcoin#19309 | PR19309]] is a hacky bug fix
[[bitcoin/bitcoin#19331 | PR19331]] reverts [[bitcoin/bitcoin#19309 | PR19309]] and fixes [[bitcoin/bitcoin#19295 | PR19295]].

In the end the relevant commits are:
bitcoin/bitcoin@fa02b47
bitcoin/bitcoin@fac96e6
bitcoin/bitcoin@fa72ca6
bitcoin/bitcoin@cccc278

Depends on D8649.

Test Plan:
With debug:
  ninja all check-all

Reviewers: #bitcoin_abc, jasonbcox

Reviewed By: #bitcoin_abc, jasonbcox

Differential Revision: https://reviews.bitcoinabc.org/D8650
  • Loading branch information
MarcoFalke authored and Fabcien committed Dec 11, 2020
1 parent 1ec7ba8 commit 978bd5b
Show file tree
Hide file tree
Showing 30 changed files with 56 additions and 54 deletions.
2 changes: 1 addition & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -554,6 +554,7 @@ add_library(server
node/context.cpp
node/psbt.cpp
node/transaction.cpp
node/ui_interface.cpp
noui.cpp
policy/fees.cpp
policy/settings.cpp
Expand All @@ -579,7 +580,6 @@ add_library(server
torcontrol.cpp
txdb.cpp
txmempool.cpp
ui_interface.cpp
validation.cpp
validationinterface.cpp
versionbits.cpp
Expand Down
2 changes: 1 addition & 1 deletion src/banman.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#include <banman.h>

#include <netaddress.h>
#include <ui_interface.h>
#include <node/ui_interface.h>
#include <util/system.h>
#include <util/time.h>
#include <util/translation.h>
Expand Down
2 changes: 1 addition & 1 deletion src/bitcoind.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
#include <interfaces/chain.h>
#include <network.h>
#include <node/context.h>
#include <node/ui_interface.h>
#include <noui.h>
#include <shutdown.h>
#include <ui_interface.h>
#include <util/ref.h>
#include <util/strencodings.h>
#include <util/system.h>
Expand Down
2 changes: 1 addition & 1 deletion src/httprpc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
#include <chainparams.h>
#include <config.h>
#include <crypto/hmac_sha256.h>
#include <node/ui_interface.h>
#include <rpc/protocol.h>
#include <ui_interface.h>
#include <util/ref.h>
#include <util/strencodings.h>
#include <util/system.h>
Expand Down
2 changes: 1 addition & 1 deletion src/httpserver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
#include <config.h>
#include <logging.h>
#include <netbase.h>
#include <node/ui_interface.h>
#include <rpc/protocol.h> // For HTTP status codes
#include <shutdown.h>
#include <sync.h>
#include <ui_interface.h>
#include <util/strencodings.h>
#include <util/system.h>
#include <util/threadnames.h>
Expand Down
7 changes: 2 additions & 5 deletions src/index/base.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
#include <chainparams.h>
#include <config.h>
#include <index/base.h>
#include <node/ui_interface.h>
#include <shutdown.h>
#include <tinyformat.h>
#include <ui_interface.h>
#include <util/system.h>
#include <util/translation.h>
#include <validation.h>
Expand All @@ -25,10 +25,7 @@ static void FatalError(const char *fmt, const Args &... args) {
std::string strMessage = tfm::format(fmt, args...);
SetMiscWarning(strMessage);
LogPrintf("*** %s\n", strMessage);
uiInterface.ThreadSafeMessageBox(
Untranslated("Error: A fatal internal error occurred, see debug.log "
"for details"),
"", CClientUIInterface::MSG_ERROR);
AbortError(_("A fatal internal error occurred, see debug.log for details"));
StartShutdown();
}

Expand Down
2 changes: 1 addition & 1 deletion src/index/txindex.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@

#include <blockdb.h>
#include <chain.h>
#include <node/ui_interface.h>
#include <shutdown.h>
#include <ui_interface.h>
#include <util/system.h>
#include <util/translation.h>
#include <validation.h>
Expand Down
2 changes: 1 addition & 1 deletion src/init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
#include <netbase.h>
#include <network.h>
#include <node/context.h>
#include <node/ui_interface.h>
#include <policy/mempool.h>
#include <policy/policy.h>
#include <policy/settings.h>
Expand All @@ -53,7 +54,6 @@
#include <torcontrol.h>
#include <txdb.h>
#include <txmempool.h>
#include <ui_interface.h>
#include <util/asmap.h>
#include <util/check.h>
#include <util/moneystr.h>
Expand Down
2 changes: 1 addition & 1 deletion src/interfaces/chain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include <node/coin.h>
#include <node/context.h>
#include <node/transaction.h>
#include <node/ui_interface.h>
#include <policy/mempool.h>
#include <policy/policy.h>
#include <policy/settings.h>
Expand All @@ -25,7 +26,6 @@
#include <sync.h>
#include <timedata.h>
#include <txmempool.h>
#include <ui_interface.h>
#include <univalue.h>
#include <util/system.h>
#include <validation.h>
Expand Down
2 changes: 1 addition & 1 deletion src/interfaces/node.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include <netaddress.h>
#include <netbase.h>
#include <node/context.h>
#include <node/ui_interface.h>
#include <policy/fees.h>
#include <policy/settings.h>
#include <primitives/block.h>
Expand All @@ -26,7 +27,6 @@
#include <support/allocators/secure.h>
#include <sync.h>
#include <txmempool.h>
#include <ui_interface.h>
#include <util/ref.h>
#include <util/system.h>
#include <util/translation.h>
Expand Down
2 changes: 1 addition & 1 deletion src/interfaces/wallet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
#include <script/standard.h>
#include <support/allocators/secure.h>
#include <sync.h>
#include <ui_interface.h>
#include <util/check.h>
#include <util/ref.h>
#include <util/system.h>
#include <util/ui_change_type.h>
#include <wallet/context.h>
#include <wallet/fees.h>
#include <wallet/ismine.h>
Expand Down
2 changes: 1 addition & 1 deletion src/interfaces/wallet.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
#include <script/sighashtype.h>
#include <script/standard.h> // For CTxDestination
#include <support/allocators/secure.h> // For SecureString
#include <ui_interface.h> // For ChangeType
#include <util/message.h>
#include <util/ui_change_type.h>

#include <cstdint>
#include <functional>
Expand Down
2 changes: 1 addition & 1 deletion src/net.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
#include <consensus/consensus.h>
#include <crypto/sha256.h>
#include <netbase.h>
#include <node/ui_interface.h>
#include <random.h>
#include <scheduler.h>
#include <ui_interface.h>
#include <util/strencodings.h>
#include <util/translation.h>

Expand Down
2 changes: 1 addition & 1 deletion src/ui_interface.cpp → src/node/ui_interface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#include <ui_interface.h>
#include <node/ui_interface.h>

#include <util/translation.h>

Expand Down
10 changes: 4 additions & 6 deletions src/ui_interface.h → src/node/ui_interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#ifndef BITCOIN_UI_INTERFACE_H
#define BITCOIN_UI_INTERFACE_H
#ifndef BITCOIN_NODE_UI_INTERFACE_H
#define BITCOIN_NODE_UI_INTERFACE_H

#include <functional>
#include <memory>
Expand All @@ -20,9 +20,6 @@ namespace signals2 {
}
} // namespace boost

/** General change type (added, updated, removed). */
enum ChangeType { CT_NEW, CT_UPDATED, CT_DELETED };

/** Signals for UI communication. */
class CClientUIInterface {
public:
Expand Down Expand Up @@ -141,7 +138,8 @@ void InitWarning(const bilingual_str &str);

/** Show error message **/
bool InitError(const bilingual_str &str);
constexpr auto AbortError = InitError;

extern CClientUIInterface uiInterface;

#endif // BITCOIN_UI_INTERFACE_H
#endif // BITCOIN_NODE_UI_INTERFACE_H
30 changes: 15 additions & 15 deletions src/noui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#include <noui.h>

#include <logging.h>
#include <ui_interface.h>
#include <node/ui_interface.h>
#include <util/translation.h>

#include <boost/signals2/connection.hpp>
Expand All @@ -23,20 +23,20 @@ bool noui_ThreadSafeMessageBox(const bilingual_str &message,
style &= ~CClientUIInterface::SECURE;

std::string strCaption;
switch (style) {
case CClientUIInterface::MSG_ERROR:
strCaption = "Error: ";
break;
case CClientUIInterface::MSG_WARNING:
strCaption = "Warning: ";
break;
case CClientUIInterface::MSG_INFORMATION:
strCaption = "Information: ";
break;
default:
// Use supplied caption (can be empty)
strCaption = caption + ": ";
}
switch (style) {
case CClientUIInterface::MSG_ERROR:
strCaption = "Error: ";
break;
case CClientUIInterface::MSG_WARNING:
strCaption = "Warning: ";
break;
case CClientUIInterface::MSG_INFORMATION:
strCaption = "Information: ";
break;
default:
// Use supplied caption (can be empty)
strCaption = caption + ": ";
}

if (!fSecure) {
LogPrintf("%s%s\n", strCaption, message.original);
Expand Down
1 change: 0 additions & 1 deletion src/qt/bitcoin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
#include <qt/splashscreen.h>
#include <qt/utilitydialog.h>
#include <qt/winshutdownmonitor.h>
#include <ui_interface.h>
#include <uint256.h>
#include <util/ref.h>
#include <util/system.h>
Expand Down
2 changes: 1 addition & 1 deletion src/qt/bitcoingui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include <config.h>
#include <interfaces/handler.h>
#include <interfaces/node.h>
#include <node/ui_interface.h>
#include <qt/bitcoinunits.h>
#include <qt/clientmodel.h>
#include <qt/createwalletdialog.h>
Expand All @@ -31,7 +32,6 @@
#include <qt/walletmodel.h>
#include <qt/walletview.h>
#endif // ENABLE_WALLET
#include <ui_interface.h>
#include <util/system.h>
#include <util/translation.h>
#include <validation.h>
Expand Down
2 changes: 1 addition & 1 deletion src/qt/paymentserver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
#include <chainparams.h>
#include <interfaces/node.h>
#include <key_io.h>
#include <node/ui_interface.h>
#include <policy/policy.h>
#include <qt/bitcoinunits.h>
#include <qt/guiutil.h>
#include <qt/optionsmodel.h>
#include <ui_interface.h>
#include <util/system.h>
#include <wallet/wallet.h>

Expand Down
2 changes: 1 addition & 1 deletion src/qt/sendcoinsdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include <chainparams.h>
#include <interfaces/node.h>
#include <key_io.h>
#include <node/ui_interface.h>
#include <qt/addresstablemodel.h>
#include <qt/bitcoinunits.h>
#include <qt/clientmodel.h>
Expand All @@ -21,7 +22,6 @@
#include <qt/platformstyle.h>
#include <qt/sendcoinsentry.h>
#include <txmempool.h>
#include <ui_interface.h>
#include <wallet/coincontrol.h>
#include <wallet/fees.h>
#include <wallet/wallet.h>
Expand Down
1 change: 0 additions & 1 deletion src/qt/splashscreen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
#include <interfaces/wallet.h>
#include <qt/guiutil.h>
#include <qt/networkstyle.h>
#include <ui_interface.h>
#include <util/system.h>
#include <util/translation.h>

Expand Down
2 changes: 1 addition & 1 deletion src/qt/transactionview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

#include <qt/transactionview.h>

#include <node/ui_interface.h>
#include <qt/addresstablemodel.h>
#include <qt/bitcoinunits.h>
#include <qt/csvmodelwriter.h>
Expand All @@ -15,7 +16,6 @@
#include <qt/transactionrecord.h>
#include <qt/transactiontablemodel.h>
#include <qt/walletmodel.h>
#include <ui_interface.h>

#include <QComboBox>
#include <QDateTimeEdit>
Expand Down
2 changes: 1 addition & 1 deletion src/qt/walletmodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@
#include <interfaces/handler.h>
#include <interfaces/node.h>
#include <key_io.h>
#include <node/ui_interface.h>
#include <psbt.h>
#include <qt/addresstablemodel.h>
#include <qt/guiconstants.h>
#include <qt/paymentserver.h>
#include <qt/recentrequeststablemodel.h>
#include <qt/transactiontablemodel.h>
#include <ui_interface.h>
#include <util/system.h> // for GetBoolArg
#include <util/translation.h>
#include <wallet/coincontrol.h>
Expand Down
2 changes: 1 addition & 1 deletion src/qt/walletview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include <interfaces/node.h>
#include <node/psbt.h>
#include <node/transaction.h>
#include <node/ui_interface.h>
#include <policy/policy.h>
#include <qt/addressbookpage.h>
#include <qt/askpassphrasedialog.h>
Expand All @@ -23,7 +24,6 @@
#include <qt/transactiontablemodel.h>
#include <qt/transactionview.h>
#include <qt/walletmodel.h>
#include <ui_interface.h>
#include <util/strencodings.h>

#include <QAction>
Expand Down
2 changes: 1 addition & 1 deletion src/timedata.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
#include <timedata.h>

#include <netaddress.h>
#include <node/ui_interface.h>
#include <sync.h>
#include <ui_interface.h>
#include <util/system.h>
#include <util/translation.h>
#include <warnings.h>
Expand Down
2 changes: 1 addition & 1 deletion src/txdb.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@

#include <blockdb.h>
#include <chain.h>
#include <node/ui_interface.h>
#include <pow/pow.h>
#include <random.h>
#include <shutdown.h>
#include <ui_interface.h>
#include <util/system.h>
#include <util/translation.h>
#include <util/vector.h>
Expand Down
11 changes: 11 additions & 0 deletions src/util/ui_change_type.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Copyright (c) 2012-2020 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#ifndef BITCOIN_UTIL_UI_CHANGE_TYPE_H
#define BITCOIN_UTIL_UI_CHANGE_TYPE_H

/** General change type (added, updated, removed). */
enum ChangeType { CT_NEW, CT_UPDATED, CT_DELETED };

#endif // BITCOIN_UTIL_UI_CHANGE_TYPE_H
Loading

0 comments on commit 978bd5b

Please sign in to comment.