some stuff doesn't get freed at exit
``` ==31899== 20 bytes in 1 blocks are still reachable in loss record 3 of 25 ==31899== at 0x4C28BED: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==31899== by 0x1FF567: _tor_malloc (util.c:144) ==31899== by 0x1FF665: _tor_malloc_zero (util.c:170) ==31899== by 0x1797C4: circuit_build_times_init (circuitbuild.c:597) ==31899== by 0x17B89F: circuit_build_times_parse_state (circuitbuild.c:955) ==31899== by 0x172231: or_state_load (statefile.c:238) ==31899== by 0x19AFCD: set_options (config.c:1254) ==31899== by 0x19BDB8: options_init_from_string (config.c:3639) ==31899== by 0x19C11E: options_init_from_torrc (config.c:3496) ==31899== by 0x11E097: tor_init (main.c:2347) ==31899== by 0x11F2CD: tor_main (main.c:2665) ==31899== by 0x5F7BEAC: (below main) (libc-start.c:228) ``` ``` ==31871== 20 bytes in 1 blocks are still reachable in loss record 4 of 24 ==31871== at 0x4C28BED: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==31871== by 0x1FF567: _tor_malloc (util.c:144) ==31871== by 0x1FF665: _tor_malloc_zero (util.c:170) ==31871== by 0x1A72A7: connection_handle_write (connection.c:3751) ==31871== by 0x11CF5D: conn_write_callback (main.c:739) ==31871== by 0x52D8CCB: event_base_loop (in /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5.1.7) ==31871== by 0x11DB04: do_main_loop (main.c:1966) ==31871== by 0x11F2ED: tor_main (main.c:2672) ==31871== by 0x5F7BEAC: (below main) (libc-start.c:228) ``` ``` ==31301== 1,672 bytes in 1 blocks are still reachable in loss record 28 of 28 ==31301== at 0x4C28BED: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==31301== by 0x1FF4E7: _tor_malloc (util.c:144) ==31301== by 0x1FF5E5: _tor_malloc_zero (util.c:170) ==31301== by 0x14769E: bw_array_new (rephist.c:1351) ==31301== by 0x14778C: bw_arrays_init (rephist.c:1382) ==31301== by 0x1480C4: rep_hist_init (rephist.c:202) ==31301== by 0x11DF03: tor_init (main.c:2283) ==31301== by 0x11F2BD: tor_main (main.c:2661) ==31301== by 0x5F7BEAC: (below main) (libc-start.c:228) ``` ``` ==1852== 128 bytes in 1 blocks are still reachable in loss record 18 of 30 ==1852== at 0x4C244E8: malloc (vg_replace_malloc.c:236) ==1852== by 0x2125E7: _tor_malloc (util.c:144) ==1852== by 0x213C25: _tor_malloc_zero (util.c:170) ==1852== by 0x2277D7: tor_event_new (compat_libevent.c:124) ==1852== by 0x2278B9: periodic_timer_new (compat_libevent.c:616) ==1852== by 0x11A605: do_main_loop (main.c:1941) ==1852== by 0x11A79C: tor_main (main.c:2668) ==1852== by 0x5EFCC8C: (below main) (libc-start.c:228) ``` ``` ==1852== 18 bytes in 1 blocks are still reachable in loss record 5 of 30 ==1852== at 0x4C244E8: malloc (vg_replace_malloc.c:236) ==1852== by 0x5F59C61: strdup (strdup.c:43) ==1852== by 0x211BED: _tor_strdup (util.c:241) ==1852== by 0x19C8E3: get_short_version (config.c:628) ==1852== by 0x19C96C: get_version (config.c:610) ==1852== by 0x118EFC: tor_init (main.c:2280) ==1852== by 0x11A782: tor_main (main.c:2661) ==1852== by 0x5EFCC8C: (below main) (libc-start.c:228) ```
issue