From: Timo Sirainen Date: Tue, 19 Nov 2024 11:08:00 +0000 (+0200) Subject: lib: Add backtrace to "Growing data stack" debug log message X-Git-Tag: 2.4.0~223 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0ab964fb0cd181cfc2773335d0f54328aa9ca043;p=thirdparty%2Fdovecot%2Fcore.git lib: Add backtrace to "Growing data stack" debug log message --- diff --git a/src/lib/data-stack.c b/src/lib/data-stack.c index 3e1fecaccd..477ad91d4a 100644 --- a/src/lib/data-stack.c +++ b/src/lib/data-stack.c @@ -434,8 +434,10 @@ static void data_stack_send_grow_event(size_t last_alloc_size) const char *backtrace, *error; if (backtrace_get(&backtrace, &error) == 0) event_add_str(event_datastack, "backtrace", backtrace); - else + else { + backtrace = t_strdup_printf("backtrace failed: %s", error); event_add_str(event_datastack, "backtrace_error", error); + } string_t *str = t_str_new(128); str_printfa(str, "total_used=%zu, total_alloc=%zu, last_alloc_size=%zu", @@ -446,8 +448,8 @@ static void data_stack_send_grow_event(size_t last_alloc_size) str_printfa(str, ", frame_bytes=%llu, frame_alloc_count=%u", frame->alloc_bytes, frame->alloc_count); #endif - e_debug(event_datastack, "Growing data stack by %zu for '%s' (%s)", - current_block->size, frame->marker, str_c(str)); + e_debug(event_datastack, "Growing data stack by %zu for '%s' (%s): %s", + current_block->size, frame->marker, str_c(str), backtrace); } static void *t_malloc_real(size_t size, bool permanent)