https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290201

--- Comment #1 from Kristof Provost <[email protected]> ---
It is of course not a correct fix, but this does appear to make the panic stop:

diff --git a/sys/net/route/route_tables.c b/sys/net/route/route_tables.c
index 176ca43fa1c5..0000142d0654 100644
--- a/sys/net/route/route_tables.c
+++ b/sys/net/route/route_tables.c
@@ -345,6 +345,13 @@ rtables_destroy(const void *unused __unused)
         *  and will be completed after vnet teardown.
         */
        NET_EPOCH_DRAIN_CALLBACKS();
+       /*
+        * This drain appears to be unreliable. Attempt to mitigate this by
just calling
+        * it twice. This is a workaround, not a fix.
+
+        * See PR290201.
+        */
+       NET_EPOCH_DRAIN_CALLBACKS();

        free(V_rt_tables, M_RTABLE);
        vnet_rtzone_destroy();

That's been looping bricoler test runs for more than a day at this point, which
would certainly have panicked already without it.

I present this more as a possible hint than a suggested solution, though if
this gets worse or more frequent we may want to consider applying it as a
band-aid anyway.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to