Try to generate a stacktrace for runtime errors in consolidation
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "utilmoneystr.h"
|
#include "utilmoneystr.h"
|
||||||
#include "wallet.h"
|
#include "wallet.h"
|
||||||
|
#include <boost/stacktrace.hpp>
|
||||||
|
|
||||||
CAmount fConsolidationTxFee = DEFAULT_CONSOLIDATION_FEE;
|
CAmount fConsolidationTxFee = DEFAULT_CONSOLIDATION_FEE;
|
||||||
bool fConsolidationMapUsed = false;
|
bool fConsolidationMapUsed = false;
|
||||||
@@ -44,6 +45,11 @@ void AsyncRPCOperation_saplingconsolidation::main() {
|
|||||||
set_error_code(code);
|
set_error_code(code);
|
||||||
set_error_message(message);
|
set_error_message(message);
|
||||||
} catch (const runtime_error& e) {
|
} catch (const runtime_error& e) {
|
||||||
|
const boost::stacktrace::stacktrace* st = boost::get_error_info<traced>(e);
|
||||||
|
if (st) {
|
||||||
|
std::cerr << *st << '\n';
|
||||||
|
}
|
||||||
|
set_error_code(-1);
|
||||||
set_error_code(-1);
|
set_error_code(-1);
|
||||||
set_error_message("runtime error: " + string(e.what()));
|
set_error_message("runtime error: " + string(e.what()));
|
||||||
} catch (const logic_error& e) {
|
} catch (const logic_error& e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user