Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #18673

Closed (moved)
(moved)
Open
Created Mar 28, 2016 by Nick Mathewson@nickm🍬

Memory leak with TestingEnableCellStatsEvent

Running chutney with asan, I see:


=================================================================
==13895==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 1040 byte(s) in 65 object(s) allocated from:
    #0 0x55db7087dacb in __interceptor_malloc llvm.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:40:3
    #1 0x55db70d23dd2 in tor_malloc_ /home/nickm/src/tor/src/common/util.c:171:12
    #2 0x55db70cf4847 in smartlist_new /home/nickm/src/tor/src/common/container.c:34:21
    #3 0x55db7093e34d in channel_flush_from_first_active_circuit /home/nickm/src/tor/src/or/relay.c:2652:38
    #4 0x55db70a6bd22 in channel_flush_some_cells /home/nickm/src/tor/src/or/channel.c:2215:30
    #5 0x55db70a35810 in scheduler_run /home/nickm/src/tor/src/or/scheduler.c:421:13
    #6 0x55db70a35060 in scheduler_evt_callback /home/nickm/src/tor/src/or/scheduler.c:234:3
    #7 0x7f8baa215178 in event_base_loop (/lib64/libevent-2.0.so.5+0x10178)

Indirect leak of 37376 byte(s) in 23 object(s) allocated from:
    #0 0x55db7087de1e in realloc llvm.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:61:3
    #1 0x55db70d242dc in tor_realloc_ /home/nickm/src/tor/src/common/util.c:259:12
    #2 0x55db70d24550 in tor_reallocarray_ /home/nickm/src/tor/src/common/util.c:280:10
    #3 0x55db70cf509f in smartlist_ensure_capacity /home/nickm/src/tor/src/common/container.c:87:16
    #4 0x55db70cf4df1 in smartlist_add /home/nickm/src/tor/src/common/container.c:101:3
    #5 0x55db7093e3ac in channel_flush_from_first_active_circuit /home/nickm/src/tor/src/or/relay.c:2653:9
    #6 0x55db70a6bd22 in channel_flush_some_cells /home/nickm/src/tor/src/or/channel.c:2215:30
    #7 0x55db70a35810 in scheduler_run /home/nickm/src/tor/src/or/scheduler.c:421:13
    #8 0x55db70a35060 in scheduler_evt_callback /home/nickm/src/tor/src/or/scheduler.c:234:3
    #9 0x7f8baa215178 in event_base_loop (/lib64/libevent-2.0.so.5+0x10178)

Indirect leak of 18636 byte(s) in 4659 object(s) allocated from:
    #0 0x55db7087dacb in __interceptor_malloc llvm.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:40:3
    #1 0x55db70d23dd2 in tor_malloc_ /home/nickm/src/tor/src/common/util.c:171:12
    #2 0x55db70d23f6f in tor_malloc_zero_ /home/nickm/src/tor/src/common/util.c:197:18
    #3 0x55db7093e195 in channel_flush_from_first_active_circuit /home/nickm/src/tor/src/or/relay.c:2645:11
    #4 0x55db70a6bd22 in channel_flush_some_cells /home/nickm/src/tor/src/or/channel.c:2215:30
    #5 0x55db70a35810 in scheduler_run /home/nickm/src/tor/src/or/scheduler.c:421:13
    #6 0x55db70a35060 in scheduler_evt_callback /home/nickm/src/tor/src/or/scheduler.c:234:3
    #7 0x7f8baa215178 in event_base_loop (/lib64/libevent-2.0.so.5+0x10178)

Indirect leak of 5376 byte(s) in 42 object(s) allocated from:
    #0 0x55db7087dacb in __interceptor_malloc llvm.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:40:3
    #1 0x55db70d23dd2 in tor_malloc_ /home/nickm/src/tor/src/common/util.c:171:12
    #2 0x55db70d240a4 in tor_malloc_zero_ /home/nickm/src/tor/src/common/util.c:197:18
    #3 0x55db70d240a4 in tor_calloc_ /home/nickm/src/tor/src/common/util.c:235
    #4 0x55db70cf48f7 in smartlist_new /home/nickm/src/tor/src/common/container.c:37:14
    #5 0x55db7093e34d in channel_flush_from_first_active_circuit /home/nickm/src/tor/src/or/relay.c:2652:38
    #6 0x55db70a6bd22 in channel_flush_some_cells /home/nickm/src/tor/src/or/channel.c:2215:30
    #7 0x55db70a35810 in scheduler_run /home/nickm/src/tor/src/or/scheduler.c:421:13
    #8 0x55db70a35060 in scheduler_evt_callback /home/nickm/src/tor/src/or/scheduler.c:234:3
    #9 0x7f8baa215178 in event_base_loop (/lib64/libevent-2.0.so.5+0x10178)

SUMMARY: AddressSanitizer: 62428 byte(s) leaked in 4789 allocation(s).

Now, this only seems to happen with TestingEnableCellStatsEvent enabled, so it's not a showstopper on the real network, but it's no fun. We should fix this leak.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking