mirror of
https://github.com/monero-project/monero.git
synced 2024-12-27 06:09:24 -05:00
tx_pool: fix infinite loop when failing to find a meta record
This commit is contained in:
parent
b780cf4db1
commit
48a7bc4280
@ -1140,7 +1140,7 @@ namespace cryptonote
|
|||||||
LockedTXN lock(m_blockchain);
|
LockedTXN lock(m_blockchain);
|
||||||
|
|
||||||
auto sorted_it = m_txs_by_fee_and_receive_time.begin();
|
auto sorted_it = m_txs_by_fee_and_receive_time.begin();
|
||||||
while (sorted_it != m_txs_by_fee_and_receive_time.end())
|
for (; sorted_it != m_txs_by_fee_and_receive_time.end(); ++sorted_it)
|
||||||
{
|
{
|
||||||
txpool_tx_meta_t meta;
|
txpool_tx_meta_t meta;
|
||||||
if (!m_blockchain.get_txpool_tx_meta(sorted_it->second, meta))
|
if (!m_blockchain.get_txpool_tx_meta(sorted_it->second, meta))
|
||||||
@ -1154,7 +1154,6 @@ namespace cryptonote
|
|||||||
if (max_total_size < total_size + meta.blob_size)
|
if (max_total_size < total_size + meta.blob_size)
|
||||||
{
|
{
|
||||||
LOG_PRINT_L2(" would exceed maximum block size");
|
LOG_PRINT_L2(" would exceed maximum block size");
|
||||||
sorted_it++;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1167,14 +1166,12 @@ namespace cryptonote
|
|||||||
if(!get_block_reward(median_size, total_size + meta.blob_size, already_generated_coins, block_reward, version))
|
if(!get_block_reward(median_size, total_size + meta.blob_size, already_generated_coins, block_reward, version))
|
||||||
{
|
{
|
||||||
LOG_PRINT_L2(" would exceed maximum block size");
|
LOG_PRINT_L2(" would exceed maximum block size");
|
||||||
sorted_it++;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
coinbase = block_reward + fee + meta.fee;
|
coinbase = block_reward + fee + meta.fee;
|
||||||
if (coinbase < template_accept_threshold(best_coinbase))
|
if (coinbase < template_accept_threshold(best_coinbase))
|
||||||
{
|
{
|
||||||
LOG_PRINT_L2(" would decrease coinbase to " << print_money(coinbase));
|
LOG_PRINT_L2(" would decrease coinbase to " << print_money(coinbase));
|
||||||
sorted_it++;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1221,13 +1218,11 @@ namespace cryptonote
|
|||||||
if (!ready)
|
if (!ready)
|
||||||
{
|
{
|
||||||
LOG_PRINT_L2(" not ready to go");
|
LOG_PRINT_L2(" not ready to go");
|
||||||
sorted_it++;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (have_key_images(k_images, tx))
|
if (have_key_images(k_images, tx))
|
||||||
{
|
{
|
||||||
LOG_PRINT_L2(" key images already seen");
|
LOG_PRINT_L2(" key images already seen");
|
||||||
sorted_it++;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1236,7 +1231,6 @@ namespace cryptonote
|
|||||||
fee += meta.fee;
|
fee += meta.fee;
|
||||||
best_coinbase = coinbase;
|
best_coinbase = coinbase;
|
||||||
append_key_images(k_images, tx);
|
append_key_images(k_images, tx);
|
||||||
sorted_it++;
|
|
||||||
LOG_PRINT_L2(" added, new block size " << total_size << "/" << max_total_size << ", coinbase " << print_money(best_coinbase));
|
LOG_PRINT_L2(" added, new block size " << total_size << "/" << max_total_size << ", coinbase " << print_money(best_coinbase));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user