Blockstream / electrs

An efficient re-implementation of Electrum Server in Rust
MIT License
321 stars 131 forks source link

Hitting unreachable in `DiscoveryManager` #129

Open RCasatta opened 1 week ago

RCasatta commented 1 week ago

This line is hit

image

At the moment it's not clear to me:

philippem commented 4 days ago

@shesek any idea?

shesek commented 2 days ago

why the entry is supposed to be always found

It should be impossible to have a job in the queue that was healthy on the last check without a corresponding entry in the healthy set. I went over the code again and am still unsure how this could happen.

Are you hitting this consistently? Any reproduction steps?

and the reason of unreachable

I generally prefer to use unreachables for impossible/inconsistent states, but changing this to a warn would be ok too.

why electrs crash since the panic should be inside a spawned thread

I'm not sure, looking into this.