]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Make panic more informant
authorVsevolod Stakhov <vsevolod@rspamd.com>
Mon, 19 Sep 2022 11:16:05 +0000 (12:16 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Mon, 19 Sep 2022 11:16:05 +0000 (12:16 +0100)
src/libserver/symcache/symcache_c.cxx

index f8de952810068a9aabc8b26731dbb4bba23f8eff..a2dc08a78d54f681f4874aa703b68c1b2bfc1bd3 100644 (file)
@@ -639,11 +639,19 @@ rspamd_symcache_item_async_dec_full(struct rspamd_task *task,
        auto *real_dyn_item = C_API_SYMCACHE_DYN_ITEM(item);
 
        auto *static_item = cache_runtime->get_item_by_dynamic_item(real_dyn_item);
-       msg_debug_cache_task("increase async events counter for %s(%d) = %d + 1; "
+       msg_debug_cache_task("decrease async events counter for %s(%d) = %d - 1; "
                                                 "subsystem %s (%s)",
                        static_item->symbol.c_str(), static_item->id,
                        real_dyn_item->async_events, subsystem, loc);
-       g_assert(real_dyn_item->async_events > 0);
+
+       if (G_UNLIKELY(real_dyn_item->async_events == 0)) {
+               msg_err_cache_task("INTERNAL ERROR: trying decrease async events counter for %s(%d) that is already zero; "
+                                                        "subsystem %s (%s)",
+                               static_item->symbol.c_str(), static_item->id,
+                               real_dyn_item->async_events, subsystem, loc);
+               g_abort();
+               g_assert_not_reached();
+       }
 
        return --real_dyn_item->async_events;
 }