[tor-bugs] #27813 [Core Tor/Tor]: Tor 0.3.4.8 is leaking memory

Tor Bug Tracker & Wiki blackhole at torproject.org
Sun Sep 23 21:57:30 UTC 2018


#27813: Tor 0.3.4.8 is leaking memory
-------------------------------------------------+-------------------------
 Reporter:  anong                                |          Owner:  (none)
     Type:  defect                               |         Status:  new
 Priority:  High                                 |      Milestone:  Tor:
                                                 |  0.3.5.x-final
Component:  Core Tor/Tor                         |        Version:  Tor:
                                                 |  0.3.4.8
 Severity:  Critical                             |     Resolution:
 Keywords:  regression? memleak oom              |  Actual Points:
  034-backport tor-relay                         |
Parent ID:                                       |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by anong):

 This happened initially after the upgrade to 0.3.4.8. Never happened
 before. The process just crashed again:


 {{{
 Sep 23 21:03:40 DietPi kernel: [<80254dc4>] (populate_vma_page_range) from
 [<80254e7c>] (__mm_populate+0xb0/0x148)
 Sep 23 21:03:40 DietPi kernel: [<80254e7c>] (__mm_populate) from
 [<802429cc>] (vm_mmap_pgoff+0xc4/0xc8)
 Sep 23 21:03:40 DietPi kernel: [<802429cc>] (vm_mmap_pgoff) from
 [<8025d3d0>] (SyS_mmap_pgoff+0x58/0xd0)
 Sep 23 21:03:40 DietPi kernel: [<8025d3d0>] (SyS_mmap_pgoff) from
 [<80108060>] (ret_fast_syscall+0x0/0x28)
 Sep 23 21:03:40 DietPi kernel: Mem-Info:
 Sep 23 21:03:40 DietPi kernel: active_anon:0 inactive_anon:0
 isolated_anon:0
                                 active_file:10 inactive_file:25
 isolated_file:0
                                 unevictable:180523 dirty:16 writeback:0
 unstable:0
                                 slab_reclaimable:2202
 slab_unreclaimable:6519
                                 mapped:20297 shmem:0 pagetables:444
 bounce:0
                                 free:4014 free_pcp:200 free_cma:0
 Sep 23 21:03:40 DietPi kernel: Node 0 active_anon:0kB inactive_anon:0kB
 active_file:40kB inactive_file:100kB unevictable:722092kB
 isolated(anon):0kB isolated(file):0kB mapped:81188kB dirty:64kB
 writeback:0kB shmem:0kB writeback_tmp:0kB
 Sep 23 21:03:40 DietPi kernel: Normal free:16056kB min:16384kB low:20480kB
 high:24576kB active_anon:0kB inactive_anon:0kB active_file:160kB
 inactive_file:44kB unevictable:722096kB writepending:64kB
 present:1021952kB managed:1000180kB ml
 Sep 23 21:03:40 DietPi kernel: lowmem_reserve[]: 0 0
 Sep 23 21:03:40 DietPi kernel: Normal: 4*4kB (UM) 382*8kB (UME) 365*16kB
 (UE) 110*32kB (UME) 55*64kB (UME) 0*128kB 0*256kB 0*512kB 0*1024kB
 0*2048kB 0*4096kB = 15952kB
 Sep 23 21:03:40 DietPi kernel: 20347 total pagecache pages
 Sep 23 21:03:40 DietPi kernel: 0 pages in swap cache
 Sep 23 21:03:40 DietPi kernel: Swap cache stats: add 22160, delete 22160,
 find 2613/5056
 Sep 23 21:03:40 DietPi kernel: Free swap  = 4159740kB
 Sep 23 21:03:40 DietPi kernel: Total swap = 4194300kB
 Sep 23 21:03:40 DietPi kernel: 255488 pages RAM
 Sep 23 21:03:40 DietPi kernel: 0 pages HighMem/MovableOnly
 Sep 23 21:03:40 DietPi kernel: 5443 pages reserved
 Sep 23 21:03:40 DietPi kernel: 2048 pages cma reserved
 Sep 23 21:03:40 DietPi kernel: [ pid ]   uid  tgid total_vm      rss
 nr_ptes nr_pmds swapents oom_score_adj name
 Sep 23 21:03:40 DietPi kernel: [   84]     0    84     7373      446
 11       0      100             0 systemd-journal
 Sep 23 21:03:40 DietPi kernel: [  142]     0   142     3492      356
 8       0      140         -1000 systemd-udevd
 Sep 23 21:03:40 DietPi kernel: [  276]     0   276      616      293
 6       0       35             0 dropbear
 Sep 23 21:03:40 DietPi kernel: [  814]     0   814     1049      258
 5       0       35             0 agetty
 Sep 23 21:03:40 DietPi kernel: [ 9666]     0  9666     1324      434
 7       0       61             0 cron
 Sep 23 21:03:40 DietPi kernel: [10659]  1001 10659   182060   180276
 367       0        0             0 tor
 Sep 23 21:03:40 DietPi kernel: [17067]     0 17067      733      371
 6       0       53             0 dropbear
 Sep 23 21:03:40 DietPi kernel: [17068]     0 17068     1678      338
 7       0      476             0 bash
 Sep 23 21:03:40 DietPi kernel: [17624]     0 17624      733      371
 6       0       47             0 dropbear
 Sep 23 21:03:40 DietPi kernel: [17625]     0 17625     1678      362
 8       0      476             0 bash
 Sep 23 21:03:40 DietPi kernel: Out of memory: Kill process 10659 (tor)
 score 139 or sacrifice child
 Sep 23 21:03:40 DietPi kernel: Killed process 10659 (tor) total-
 vm:728240kB, anon-rss:640012kB, file-rss:81092kB, shmem-rss:0kB
 }}}

 This is also the first time swap is being used on my Raspberry Pi, was
 never needed before. But even with 4GB of swap, Tor gets killed by the
 oom-killer. I am not familiar with memory debugging / tcmalloc, so I guess
 I will just downgrade to 0.3.3.9 now until a fixed release is available.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/27813#comment:6>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list