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;
}