gossipd: fix bogus message when dying channel is pruned.
``` 2025-01-23T12:31:52.528Z DEBUG gossipd: Pruning channel 839050x1246x0 from network view (ages 1736283379 and 1737600120) 2025-01-27T00:32:01.631Z DEBUG gossipd: Pruning channel 839050x1246x0 from network view (ages 0 and 1737686520) 2025-01-27T00:50:05.998Z **BROKEN** gossipd: Dying channel 839050x1246x0 already deleted? ``` Easiest not to prune in this case. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
committed by
Alex Myers
parent
2b4b1479ed
commit
d554206d7e
@@ -342,6 +342,16 @@ static u32 get_timestamp(struct gossmap *gossmap,
|
||||
return timestamp;
|
||||
}
|
||||
|
||||
static bool channel_already_dying(const struct chan_dying dying_channels[],
|
||||
struct short_channel_id scid)
|
||||
{
|
||||
for (size_t i = 0; i < tal_count(dying_channels); i++) {
|
||||
if (short_channel_id_eq(dying_channels[i].scid, scid))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Every half a week we look for dead channels (faster in dev) */
|
||||
static void prune_network(struct gossmap_manage *gm)
|
||||
{
|
||||
@@ -379,6 +389,10 @@ static void prune_network(struct gossmap_manage *gm)
|
||||
|
||||
scid = gossmap_chan_scid(gossmap, chan);
|
||||
|
||||
/* If it's dying anyway, don't bother pruning. */
|
||||
if (channel_already_dying(gm->dying_channels, scid))
|
||||
continue;
|
||||
|
||||
/* Is it one of mine? */
|
||||
if (gossmap_nth_node(gossmap, chan, 0) == me
|
||||
|| gossmap_nth_node(gossmap, chan, 1) == me) {
|
||||
@@ -1306,10 +1320,8 @@ void gossmap_manage_channel_spent(struct gossmap_manage *gm,
|
||||
}
|
||||
|
||||
/* Is it already dying? It's lightningd re-telling us */
|
||||
for (size_t i = 0; i < tal_count(gm->dying_channels); i++) {
|
||||
if (short_channel_id_eq(gm->dying_channels[i].scid, scid))
|
||||
return;
|
||||
}
|
||||
if (channel_already_dying(gm->dying_channels, scid))
|
||||
return;
|
||||
|
||||
/* BOLT #7:
|
||||
* - once its funding output has been spent OR reorganized out:
|
||||
|
||||
Reference in New Issue
Block a user