From f3547d0b74ea1afe479538851ad2bddb44eded0a Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 21 Nov 2024 10:28:14 +0100 Subject: [PATCH] MINOR: activity: better report nil than ffff in unknown callers For unknown callers we try to get the lowest known address and we purposely ignore NULL during calculation of the min. But the side effect is that we also report ffff in the per-DSO address. Better catch this case and finally accept to report nil. Before it would report this: $ socat - /tmp/sock1 <<< "show profiling memory" |grep nil 50000 10 9600000 9440| (nil) [other] unknown(192) [delta=9590560] [pool=http_txn] 50000 10 9600000 9440| (nil) DSO:other; delta_calls=49990; delta_bytes=9590560 now it reports this: $ socat - /tmp/sock1 <<< "show profiling memory" |grep nil 50000 11 9600000 9656| (nil) [other] unknown(192) [delta=9590344] [pool=connection] 50000 11 9600000 9656| (nil) DSO:other; delta_calls=49989; delta_bytes=9590344 --- src/activity.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/activity.c b/src/activity.c index b6939d9d5..203e3e275 100644 --- a/src/activity.c +++ b/src/activity.c @@ -951,7 +951,7 @@ static int cli_io_handler_show_profiling(struct appctx *appctx) chunk_appendf(&trash, "%11llu %11llu %14llu %14llu| %16p DSO:%s;", entry->alloc_calls, entry->free_calls, entry->alloc_tot, entry->free_tot, - entry->caller, entry->info ? (const char*)entry->info : "other"); + entry->caller == (void*)-1 ? 0 : entry->caller, entry->info ? (const char*)entry->info : "other"); if (entry->alloc_tot != entry->free_tot) chunk_appendf(&trash, " delta_calls=%lld; delta_bytes=%lld",