#42940 [BC-Medium] Suboptimal Lock Holding During Logging in `decrement_transactions_in_flight`
Description
Bug Description
pub fn decrement_transactions_in_flight(&self, count: u64) {
// unwrap because lock is poisoned
let mut transactions_in_flight = self.transactions_in_flight.write().unwrap(); //@audit optimization for lock by moving info! after releasing the lock.
let current = transactions_in_flight.get_count();
info!(
target: "movement_timing",
count,
current,
"decrementing_transactions_in_flight",
);
transactions_in_flight.decrement(count);
}Impact
Recommendation
Proof of Concept
Proof of Concept
Previous#42939 [BC-Insight] Transaction expiration is not validated correctly in mempool and sequencerNext#42991 [BC-High] User can reuse sequence number causing DOS & breaking core invariant
Was this helpful?