From: Maria Matejka Date: Thu, 27 Jun 2024 11:49:37 +0000 (+0200) Subject: Export: Throw a warning instead of crashing on export_accepted_map inconsistency X-Git-Tag: v3.0.0~98 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c2480ff533e0658b8d792a83fa8aa035846f3617;p=thirdparty%2Fbird.git Export: Throw a warning instead of crashing on export_accepted_map inconsistency --- diff --git a/nest/rt-table.c b/nest/rt-table.c index a401035f9..eaabb9395 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -1051,8 +1051,11 @@ rt_notify_basic(struct channel *c, const rte *new, const rte *old) /* If this is a refeed, we may need to copy the new route to the old one */ if (!old && bmap_test(&c->export_accepted_map, new->id)) { - ASSERT_DIE(rt_export_get_state(&c->out_req) == TES_PARTIAL); - old = new; + if (rt_export_get_state(&c->out_req) == TES_PARTIAL) + old = new; + else + log(L_WARN "%s.%s: Got new route for %N (id %u) which is already marked accepted, weird", + c->proto->name, c->name, new->net, new->id); } /* Run the filters, actually */