From: Willy Tarreau Date: Thu, 21 Nov 2024 09:28:14 +0000 (+0100) Subject: MINOR: activity: better report nil than ffff in unknown callers X-Git-Tag: v3.1-dev14~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f3547d0b74ea1afe479538851ad2bddb44eded0a;p=thirdparty%2Fhaproxy.git 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 --- diff --git a/src/activity.c b/src/activity.c index b6939d9d54..203e3e2755 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",