From 68cbb52701b0cb5a331959a3b645e375f4dc3749 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 19 Sep 2022 12:16:05 +0100 Subject: [PATCH] [Minor] Make panic more informant --- src/libserver/symcache/symcache_c.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/libserver/symcache/symcache_c.cxx b/src/libserver/symcache/symcache_c.cxx index f8de95281..a2dc08a78 100644 --- a/src/libserver/symcache/symcache_c.cxx +++ b/src/libserver/symcache/symcache_c.cxx @@ -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; } -- 2.39.5