Thank you for taking the time to report this bug and helping to make Ubuntu better. I appreciate the quality of this bug report and I'm sure it will be helpful to others experiencing the same issue.
This sounds like an upstream bug to me. The best route to getting it fixed in Ubuntu in this case would be to file an bug with the upstream project. Otherwise, I am not sure what we can do directly in Ubuntu to fix the problem. If you do end up filing an upstream bug, please link to it from here. Thanks! ** Changed in: libnl3 (Ubuntu) Importance: Undecided => Medium -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to libnl3 in Ubuntu. https://bugs.launchpad.net/bugs/1690836 Title: libnl-genl-3.0 memory leak Status in libnl3 package in Ubuntu: Confirmed Bug description: It seems that there is a memory leak in the libnl-genl-3.0 library. The memory-leak can be seen when the function genl_ctrl_resolve() fails. It seems that this function copy a buffer and forget to deallocate it properly: 258 cb = nl_cb_clone(orig); // buffer copied not freed ----------------------------------------------------------------------------- The following attached source-code can help you to reproduce this behavior on Ubuntu 14.04. It forces an issue on the genl_ctrl_resolve by asking an unknown netlink-family. To compile program: g++ -std=c++11 main.cpp $(pkg-config --cflags --libs libnl-3.0 libnl-genl-3.0) -o main To detect memory-leak using Valgrind: valgrind --leak-check=full ./main ----------------------------------------------------------------------------- Executing it on Debian 8.0 shows "no memory leak": sylvain@debian:~/test$ lsb_release -rd Description: Debian GNU/Linux 8.8 (jessie) Release: 8.8 sylvain@debian:~/test$ g++ -std=c++11 main.cpp $(pkg-config --cflags --libs libnl-3.0 libnl-genl-3.0) -o main sylvain@debian:~/test$ valgrind --leak-check=full ./main ==26390== Memcheck, a memory error detector ==26390== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==26390== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info ==26390== Command: ./main ==26390== start test error: can't retrieve the netlink-family id end test ==26390== ==26390== HEAP SUMMARY: ==26390== in use at exit: 0 bytes in 0 blocks ==26390== total heap usage: 13 allocs, 13 frees, 22,142 bytes allocated ==26390== ==26390== All heap blocks were freed -- no leaks are possible ==26390== ==26390== For counts of detected and suppressed errors, rerun with: -v ==26390== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) ----------------------------------------------------------------------------- Executing it on Ubuntu 14.04 shows a memory leak: ubuntu@ubuntu:~$ lsb_release -rd Description: Ubuntu 14.04.5 LTS Release: 14.04 ubuntu@ubuntu:~$ g++ -std=c++11 main.cpp $(pkg-config --cflags --libs libnl-3.0 libnl-genl-3.0) -o main ubuntu@ubuntu:~$ valgrind --leak-check=full ./main ==37377== Memcheck, a memory error detector ==37377== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==37377== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info ==37377== Command: ./main ==37377== start test error: can't retrieve the netlink-family id end test ==37377== ==37377== HEAP SUMMARY: ==37377== in use at exit: 224 bytes in 1 blocks ==37377== total heap usage: 13 allocs, 12 frees, 22,142 bytes allocated ==37377== ==37377== 224 bytes in 1 blocks are definitely lost in loss record 1 of 1 ==37377== at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==37377== by 0x5048FAA: nl_cb_alloc (in /lib/x86_64-linux-gnu/libnl-3.so.200.16.1) ==37377== by 0x504CB1E: nl_socket_alloc (in /lib/x86_64-linux-gnu/libnl-3.so.200.16.1) ==37377== by 0x4012E3: A::Init() (in /home/ubuntu/main) ==37377== by 0x401189: main (in /home/ubuntu/main) ==37377== ==37377== LEAK SUMMARY: ==37377== definitely lost: 224 bytes in 1 blocks ==37377== indirectly lost: 0 bytes in 0 blocks ==37377== possibly lost: 0 bytes in 0 blocks ==37377== still reachable: 0 bytes in 0 blocks ==37377== suppressed: 0 bytes in 0 blocks ==37377== ==37377== For counts of detected and suppressed errors, rerun with: -v ==37377== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) Thanks, Sylvain Trinquet To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/libnl3/+bug/1690836/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp