diff --git a/lightningd/channel_gossip.c b/lightningd/channel_gossip.c index d00627a15..01207818a 100644 --- a/lightningd/channel_gossip.c +++ b/lightningd/channel_gossip.c @@ -1096,13 +1096,15 @@ void channel_gossip_update_from_gossipd(struct channel *channel, case CGOSSIP_WAITING_FOR_USABLE: case CGOSSIP_CHANNEL_DEAD: case CGOSSIP_CHANNEL_UNANNOUNCED_DYING: - case CGOSSIP_CHANNEL_ANNOUNCED_DEAD: /* Shouldn't happen. */ log_broken(channel->log, "gossipd gave channel_update in %s? update=%s", channel_gossip_state_str(channel->channel_gossip->state), tal_hex(tmpctx, channel_update)); /* fall thru */ + /* ANNOUNCED_DEAD can happen is gossipd hadn't processed block + * when we restarted; ignore, as it will catch up soon. */ + case CGOSSIP_CHANNEL_ANNOUNCED_DEAD: case CGOSSIP_CHANNEL_ANNOUNCED_DYING: if (taken(channel_update)) tal_free(channel_update);