AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Informational 24 Bitcoin

qt: fix crash through stale pi resolve

Public commit record

What the developer wrote

Authored by f321x

76/100 · Adequate
qt: fix crash through stale pi resolve

When multiple PIs get resolved consecutively through
repeated editing of the PI field, and the `on_resolve_done`
callback tries to access a PI that has been cleared by
a previous, failed callback an exception is raised.

I was able to reproduce this somehow by adding a sleep to
`PaymentIdentifier._do_resolve()` and entering lightning addresses.

Fixes https://github.com/spesmilo/electrum/issues/10724
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit fixes a bug in Electrum's Qt send tab where the app could crash if a user edited the payment recipient field quickly while previous lookups were still finishing. The fix ignores results from outdated lookups instead of letting them trigger an error.

Recommended action

Apply the patch. It is a low-risk defensive fix that prevents UI crashes. No immediate security response is needed beyond normal update cadence.

Security signals we found

01

Fixes a race condition between asynchronous resolve callbacks and UI state

02

Prevents exception/crash from stale callback accessing invalid state

03

Issue reference suggests reproducible crash via timing manipulation

Risk score

Why this scored 24/100

Our methodology →
Potential impact 5/30
Exploitability 2/25
Stealth signal 2/15
Affected reach 3/15
Confidence 8/10
Evidence quality 4/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.