From fd36bd8971db1f22546569edb537f9777415a0d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20F=C3=A6r=C3=B8y?= Date: Tue, 27 Feb 2018 22:55:10 +0100 Subject: [PATCH] Log information on specific compression backends in the OOM handler. This patch adds some additional logging to circuits_handle_oom() to give us more information about which specific compression backend that is using a certain amount of memory. See: https://bugs.torproject.org/25372 --- changes/bug25372 | 3 +++ src/or/circuitlist.c | 8 ++++++++ 2 files changed, 11 insertions(+) create mode 100644 changes/bug25372 diff --git a/changes/bug25372 b/changes/bug25372 new file mode 100644 index 000000000..4cceab3a4 --- /dev/null +++ b/changes/bug25372 @@ -0,0 +1,3 @@ + o Minor features (log messages): + - Improve log message in the out of memory handler to include information + about memory usage from the different compression backends. Closes ticket 25372. diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c index 29ad9a8ee..7bdef0b87 100644 --- a/src/or/circuitlist.c +++ b/src/or/circuitlist.c @@ -82,6 +82,9 @@ #include "routerlist.h" #include "routerset.h" #include "channelpadding.h" +#include "compress_lzma.h" +#include "compress_zlib.h" +#include "compress_zstd.h" #include "ht.h" @@ -2476,12 +2479,17 @@ circuits_handle_oom(size_t current_allocation) log_notice(LD_GENERAL, "We're low on memory (cell queues total alloc:" " %"TOR_PRIuSZ" buffer total alloc: %" TOR_PRIuSZ "," " tor compress total alloc: %" TOR_PRIuSZ + " (zlib: %" TOR_PRIuSZ ", zstd: %" TOR_PRIuSZ "," + " lzma: %" TOR_PRIuSZ ")," " rendezvous cache total alloc: %" TOR_PRIuSZ "). Killing" " circuits withover-long queues. (This behavior is controlled by" " MaxMemInQueues.)", cell_queues_get_total_allocation(), buf_get_total_allocation(), tor_compress_get_total_allocation(), + tor_zlib_get_total_allocation(), + tor_zstd_get_total_allocation(), + tor_lzma_get_total_allocation(), rend_cache_get_total_allocation()); {