{"action":"created","issue":{"url":"https://api.github.com/repos/hyperboria/cjdns/issues/16","labels_url":"https://api.github.com/repos/hyperboria/cjdns/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/hyperboria/cjdns/issues/16/comments","events_url":"https://api.github.com/repos/hyperboria/cjdns/issues/16/events","html_url":"https://github.com/hyperboria/cjdns/issues/16","id":62539002,"number":16,"title":"Janitor / Pinger memory leak","user":{"login":"lgierth","id":19248,"avatar_url":"https://avatars.githubusercontent.com/u/19248?v=3","gravatar_id":"","url":"https://api.github.com/users/lgierth","html_url":"https://github.com/lgierth","followers_url":"https://api.github.com/users/lgierth/followers","following_url":"https://api.github.com/users/lgierth/following{/other_user}","gists_url":"https://api.github.com/users/lgierth/gists{/gist_id}","starred_url":"https://api.github.com/users/lgierth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lgierth/subscriptions","organizations_url":"https://api.github.com/users/lgierth/orgs","repos_url":"https://api.github.com/users/lgierth/repos","events_url":"https://api.github.com/users/lgierth/events{/privacy}","received_events_url":"https://api.github.com/users/lgierth/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hyperboria/cjdns/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/hyperboria/cjdns/labels/for-beginners","name":"for-beginners","color":"159818"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-03-17T23:05:42Z","updated_at":"2015-03-20T21:43:49Z","closed_at":null,"body":"How to find memory leaks: https://github.com/hyperboria/cjdns/blob/master/doc/debugging_memory_leaks.md\r\nFull allocator snapshot: https://ezcrypt.it/1PAn#vsqJLdtrJWPqOLZHwHbPXFVK\r\n\r\n```\r\n  | Pinger.c:106 [1296] bytes\r\n  | | RouterModule.c:412 [5176] bytes\r\n  | | | UDPAddrIface.c:100 [64] bytes at [0x7fad97dac7e0]\r\n  | | | UDPAddrIface.c:100 [64] bytes at [0x7fad97dac740]\r\n  | | | Message.h:86 [88] bytes at [0x7fad97af1a30]\r\n  | | | Message.h:75 [2104] bytes at [0x7fad97d69d50]\r\n  | | | Dict.c:132 [72] bytes at [0x7fad97af19e0]\r\n  | | | Dict.c:150 [64] bytes at [0x7fad97af1990]\r\n  | | | Dict.c:132 [72] bytes at [0x7fad97af1940]\r\n  | | | Dict.c:166 [64] bytes at [0x7fad97ae9d50]\r\n  | | | Dict.c:132 [72] bytes at [0x7fad97ae9d00]\r\n  | | | Dict.c:150 [64] bytes at [0x7fad97ae9f90]\r\n  | | | RouterModule.c:414 [104] bytes at [0x7fad97ae9c90]\r\n  | | | Message.h:63 [88] bytes at [0x7fad97ae9c30]\r\n  | | | Message.h:62 [2096] bytes at [0x7fad97d58170]\r\n  | | | RouterModule.c:412 [160] bytes at [0x7fad97ae9ee0]\r\n  | | Timeout.c:84 [488] bytes\r\n  | | | Allocator.c:709 [104] bytes at [0x7fad97df8c70]\r\n  | | | Timeout.c:85 [224] bytes at [0x7fad97df8b80]\r\n  | | | Timeout.c:84 [160] bytes at [0x7fad979397e0]\r\n  | | Timeout.c:84 [488] bytes\r\n  | |   Allocator.c:709 [104] bytes at [0x7fad97d24630]\r\n  | |   Timeout.c:85 [224] bytes at [0x7fad97de1cb0]\r\n  | |   Timeout.c:84 [160] bytes at [0x7fad97989ec0]\r\n  | | Dict.c:132 [72] bytes at [0x7fad97ae9e90]\r\n  | | Dict.c:166 [64] bytes at [0x7fad97ae9e40]\r\n  | | Dict.c:132 [72] bytes at [0x7fad97989f70]\r\n  | | Dict.c:166 [64] bytes at [0x7fad97908630]\r\n  | | String.c:39 [64] bytes at [0x7fad979085e0]\r\n  | | String.c:31 [64] bytes at [0x7fad97de1da0]\r\n  | | Dict.c:132 [72] bytes at [0x7fad97d0aca0]\r\n  | | Dict.c:166 [64] bytes at [0x7fad97d0ac50]\r\n  | | Dict.c:95 [56] bytes at [0x7fad97d0d500]\r\n  | | RouterModule.c:581 [176] bytes at [0x7fad97d0ab90]\r\n  | | Allocator.c:709 [104] bytes at [0x7fad97b092c0]\r\n  | | String.c:39 [64] bytes at [0x7fad97dfa5e0]\r\n  | | String.c:31 [64] bytes at [0x7fad97dfa590]\r\n  | | Pinger.c:116 [136] bytes at [0x7fad97d108b0]\r\n  | | Pinger.c:106 [160] bytes at [0x7fad97d10800]\r\n```"},"comment":{"url":"https://api.github.com/repos/hyperboria/cjdns/issues/comments/84160338","html_url":"https://github.com/hyperboria/cjdns/issues/16#issuecomment-84160338","issue_url":"https://api.github.com/repos/hyperboria/cjdns/issues/16","id":84160338,"user":{"login":"areyoueye","id":2086393,"avatar_url":"https://avatars.githubusercontent.com/u/2086393?v=3","gravatar_id":"","url":"https://api.github.com/users/areyoueye","html_url":"https://github.com/areyoueye","followers_url":"https://api.github.com/users/areyoueye/followers","following_url":"https://api.github.com/users/areyoueye/following{/other_user}","gists_url":"https://api.github.com/users/areyoueye/gists{/gist_id}","starred_url":"https://api.github.com/users/areyoueye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/areyoueye/subscriptions","organizations_url":"https://api.github.com/users/areyoueye/orgs","repos_url":"https://api.github.com/users/areyoueye/repos","events_url":"https://api.github.com/users/areyoueye/events{/privacy}","received_events_url":"https://api.github.com/users/areyoueye/received_events","type":"User","site_admin":false},"created_at":"2015-03-20T21:43:49Z","updated_at":"2015-03-20T21:43:49Z","body":"Following the instructions at https://github.com/hyperboria/cjdns/blob/master/doc/debugging_memory_leaks.md we have:\r\n\r\n$ cat cjdnsmemdump | sed -n -e 's/.* \\([a-zA-Z0-9_]*\\.[ch]\\:[0-9]*\\) .*$/\\1/p' | sort | uniq -c | sort -n\r\n      1 Admin.c:481\r\n      1 Admin.c:518\r\n      1 AdminLog.c:350\r\n      1 Allocator_admin.c:60\r\n      1 AuthorizedPasswords.c:111\r\n      1 AverageRoller.c:28\r\n      1 cjdroute2.c:563\r\n      1 cjdroute2.c:567\r\n      1 cjdroute2.c:612\r\n      1 cjdroute2.c:653\r\n      1 Configurator.c:323\r\n      1 Configurator.c:369\r\n      1 Configurator.c:518\r\n      1 Configurator.c:524\r\n      1 Configurator.c:529\r\n      1 Configurator.c:541\r\n      1 Configurator.c:546\r\n      1 Configurator.c:630\r\n      1 ControlHandler.c:203\r\n      1 ConverterV15.c:222\r\n      1 Core.c:207\r\n      1 Core.c:234\r\n      1 Core.c:251\r\n      1 Core.c:254\r\n      1 CryptoAuth.c:937\r\n      1 CryptoAuth.c:940\r\n      1 DevUrandomRandomSeed.c:66\r\n      1 DHTModuleRegistry.c:28\r\n      1 DHTModuleRegistry.c:30\r\n      1 EncodingSchemeModule.c:142\r\n      1 ETHInterface_admin.c:185\r\n      1 EventBase.c:65\r\n      1 EventEmitter.c:332\r\n      1 EventEmitter.c:348\r\n      1 FileWriter.c:46\r\n      1 IndirectLog.c:48\r\n      1 InterfaceController_admin.c:179\r\n      1 InterfaceController.c:953\r\n      1 IpTunnel_admin.c:211\r\n      1 IpTunnel.c:72\r\n      1 IpTunnel.c:731\r\n      1 Janitor.c:683\r\n      1 LibuvEntropyProvider.c:58\r\n      1 LibuvEntropyProvider.c:59\r\n      1 LinuxRandomUuidSysctlRandomSeed.c:50\r\n      1 NetCore.c:40\r\n      1 NetCore.c:49\r\n      1 NodeStore_admin.c:275\r\n      1 NodeStore.c:1760\r\n      1 NodeStore.c:1764\r\n      1 Pathfinder.c:436\r\n      1 Pipe.c:134\r\n      1 Pipe.c:253\r\n      1 Pipe.c:344\r\n      1 Pipe.c:358\r\n      1 ProcSysKernelRandomUuidRandomSeed.c:98\r\n      1 Random.c:232\r\n      1 Random.c:238\r\n      1 RandomSeed.c:42\r\n      1 RandomSeed.c:64\r\n      1 RandomSeed.c:82\r\n      1 RandomSeed.c:93\r\n      1 ReplyModule.c:51\r\n      1 Router.c:74\r\n      1 RouterModule_admin.c:340\r\n      1 RouterModule.c:211\r\n      1 RouterModule.c:218\r\n      1 SearchRunner_admin.c:152\r\n      1 SearchRunner.c:398\r\n      1 SearchStore.c:54\r\n      1 Security_admin.c:153\r\n      1 Security.c:152\r\n      1 SerializationModule.c:47\r\n      1 SessionManager_admin.c:126\r\n      1 SessionManager.c:547\r\n      1 Sockaddr.c:288\r\n      1 SwitchAdapter.c:74\r\n      1 SwitchCore.c:302\r\n      1 SwitchPinger_admin.c:115\r\n      1 SwitchPinger.c:340\r\n      1 SwitchPinger.c:355\r\n      1 SystemRandomSeed.c:36\r\n      1 TUNAdapter.c:159\r\n      1 UDPAddrIface.c:255\r\n      1 UDPInterface_admin.c:179\r\n      1 UpperDistributor.c:83\r\n      1 WriterLog.c:76\r\n      2 AdminClient.c:333\r\n      2 Configurator.c:346\r\n      2 Configurator.c:385\r\n      2 ETHInterface_linux.c:233\r\n      2 EventBase.c:64\r\n      2 Event.c:70\r\n      2 EventEmitter.c:331\r\n      2 InterfaceController.c:813\r\n      2 Janitor.c:671\r\n      2 NodeStore.c:1749\r\n      2 Penalty.c:108\r\n      2 Pinger.c:184\r\n      2 Pipe.c:231\r\n      2 Pipe.c:334\r\n      2 RouterModule_admin.c:334\r\n      2 SearchRunner.c:390\r\n      2 SessionManager.c:110\r\n      2 UDPAddrIface.c:249\r\n      2 UDPInterface_admin.c:122\r\n      3 InterfaceController.c:695\r\n      3 RandomSeed.c:50\r\n      3 UDPAddrIface.c:294\r\n      4 ETHInterface_admin.c:86\r\n      4 Event.c:65\r\n      4 InterfaceController.c:809\r\n      4 Map.h:181\r\n      4 Map.h:184\r\n      4 Map.h:190\r\n      4 RumorMill.c:139\r\n      4 RumorMill.c:140\r\n      4 RumorMill.c:142\r\n      4 Sockaddr.c:195\r\n      4 Sockaddr.c:72\r\n      6 ArrayList.c:34\r\n      6 ArrayList.c:35\r\n      6 Map.h:195\r\n      8 RumorMill.c:136\r\n     19 NodeStore.c:1975\r\n     19 NodeStore.c:1976\r\n     19 SearchRunner.c:360\r\n     19 SearchStore.c:69\r\n     38 SearchRunner.c:328\r\n     66 Dict.c:199\r\n     86 NodeStore.c:1481\r\n     89 EncodingScheme.c:377\r\n     89 EncodingScheme.c:383\r\n     89 SessionManager.c:191\r\n     91 CryptoAuth.c:1064\r\n    172 NodeStore.c:1480\r\n    178 SessionManager.c:190\r\n    205 NodeStore.c:113\r\n    380 NodeStore.c:2015\r\n    964 RouterModule.c:414\r\n    964 RouterModule.c:581\r\n    965 Pinger.c:116\r\n    967 Message.h:62\r\n    967 Message.h:63\r\n    970 Message.h:75\r\n    970 Message.h:86\r\n   1081 Dict.c:95\r\n   1818 String.c:31\r\n   1818 String.c:39\r\n   1916 UDPAddrIface.c:100\r\n   1928 RouterModule.c:412\r\n   1930 Pinger.c:106\r\n   1994 Dict.c:150\r\n   2001 Timeout.c:85\r\n   3003 Allocator.c:709\r\n   3801 Dict.c:166\r\n   4002 Timeout.c:84\r\n   5861 Dict.c:132\r\n"}}