Page MenuHomePhabricator

D9031.id.diff
No OneTemporary

D9031.id.diff

diff --git a/src/validation.cpp b/src/validation.cpp
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -5850,12 +5850,19 @@
pool.PrioritiseTransaction(i.first, i.second);
}
- std::set<TxId> unbroadcast_txids;
- file >> unbroadcast_txids;
- unbroadcast = unbroadcast_txids.size();
-
- for (const auto &txid : unbroadcast_txids) {
- pool.AddUnbroadcastTx(txid);
+ // TODO: remove this try...catch after May 15th 2021,
+ // when no one is running v0.22.11 or lower anymore.
+ // This will be done by backporting PR20854.
+ try {
+ std::set<TxId> unbroadcast_txids;
+ file >> unbroadcast_txids;
+ unbroadcast = unbroadcast_txids.size();
+ for (const auto &txid : unbroadcast_txids) {
+ pool.AddUnbroadcastTx(txid);
+ }
+ } catch (const std::exception &) {
+ // mempool.dat files created prior to v0.22.12 will not have an
+ // unbroadcast set. No need to log a failure if parsing fails here.
}
} catch (const std::exception &e) {

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 26, 10:01 (1 h, 24 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5570918
Default Alt Text
D9031.id.diff (1 KB)

Event Timeline