fd_read_body() seems to be riddled with memory leaks. Below is output of running a wget -c -r, fetching a total of a few hundred files, all of which were already found on local disk, and thus not actually fetched.
I am using 1.13.4-2ubuntu1.4 on Linux 2.6.32-042stab117.14 x86_64 ==26452== 2,082 bytes in 347 blocks are definitely lost in loss record 810 of 839 ==26452== at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==26452== by 0x430348: xmalloc (xmalloc.c:43) ==26452== by 0x428464: strdupdelim (utils.c:224) ==26452== by 0x42BD94: parse_charset (iri.c:72) ==26452== by 0x41ACBC: gethttp (http.c:2287) ==26452== by 0x41B622: http_loop (http.c:2769) ==26452== by 0x4249AD: retrieve_url (retr.c:736) ==26452== by 0x422894: retrieve_tree (recur.c:283) ==26452== by 0x40541A: main (main.c:1388) ==26452== ==26452== 38,400 bytes in 300 blocks are definitely lost in loss record 834 of 839 ==26452== at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==26452== by 0x430348: xmalloc (xmalloc.c:43) ==26452== by 0x423DB6: fd_read_hunk (retr.c:451) ==26452== by 0x424573: fd_read_body (retr.c:295) ==26452== by 0x41A962: gethttp (http.c:2588) ==26452== by 0x41B622: http_loop (http.c:2769) ==26452== by 0x4249AD: retrieve_url (retr.c:736) ==26452== by 0x422894: retrieve_tree (recur.c:283) ==26452== by 0x40541A: main (main.c:1388) ==26452== ==26452== 147,712 bytes in 1,154 blocks are definitely lost in loss record 835 of 839 ==26452== at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==26452== by 0x430348: xmalloc (xmalloc.c:43) ==26452== by 0x423DB6: fd_read_hunk (retr.c:451) ==26452== by 0x4245A8: fd_read_body (retr.c:355) ==26452== by 0x41A962: gethttp (http.c:2588) ==26452== by 0x41B622: http_loop (http.c:2769) ==26452== by 0x4249AD: retrieve_url (retr.c:736) ==26452== by 0x422894: retrieve_tree (recur.c:283) ==26452== by 0x40541A: main (main.c:1388) ==26452== ==26452== 186,112 bytes in 1,454 blocks are definitely lost in loss record 837 of 839 ==26452== at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==26452== by 0x430348: xmalloc (xmalloc.c:43) ==26452== by 0x423DB6: fd_read_hunk (retr.c:451) ==26452== by 0x42453E: fd_read_body (retr.c:283) ==26452== by 0x41A962: gethttp (http.c:2588) ==26452== by 0x41B622: http_loop (http.c:2769) ==26452== by 0x4249AD: retrieve_url (retr.c:736) ==26452== by 0x422894: retrieve_tree (recur.c:283) ==26452== by 0x40541A: main (main.c:1388) ==26452== ==26452== 540,606 (144,384 direct, 396,222 indirect) bytes in 9,024 blocks are definitely lost in loss record 839 of 839 ==26452== at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==26452== by 0x50F21B3: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0) ==26452== by 0x519CCB6: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0) ==26452== by 0x519FB8C: ASN1_item_ex_d2i (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0) ==26452== by 0x519FE70: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0) ==26452== by 0x51A021B: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0) ==26452== by 0x519F86C: ASN1_item_ex_d2i (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0) ==26452== by 0x51A0353: ASN1_item_d2i (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0) ==26452== by 0x51BD606: X509V3_EXT_d2i (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0) ==26452== by 0x42D09A: ssl_check_certificate (openssl.c:590) ==26452== by 0x41908B: gethttp (http.c:1917) ==26452== by 0x41B622: http_loop (http.c:2769) ==26452== ==26452== LEAK SUMMARY: ==26452== definitely lost: 518,690 bytes in 12,279 blocks ==26452== indirectly lost: 396,222 bytes in 18,047 blocks ==26452== possibly lost: 20 bytes in 1 blocks ==26452== still reachable: 395,620 bytes in 6,051 blocks ==26452== suppressed: 0 bytes in 0 blocks -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to wget in Ubuntu. https://bugs.launchpad.net/bugs/1291373 Title: wget. memory leaks Status in wget package in Ubuntu: New Bug description: Wget eats RAM when downloading big website. To reproduce run these on slow internet connection: bash$ wget -r -k -p -l inf -U 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' 'http://bigwebsite.com/' 2> stderr.txt After one ~6 hours wget eats 1.5 GiB of RAM. ProblemType: Bug DistroRelease: Ubuntu 12.04 Package: wget 1.13.4-2ubuntu1 ProcVersionSignature: Ubuntu 3.8.0-36.52~precise1-generic 3.8.13.14 Uname: Linux 3.8.0-36-generic x86_64 ApportVersion: 2.0.1-0ubuntu17.6 Architecture: amd64 Date: Wed Mar 12 15:29:05 2014 InstallationMedia: Ubuntu 12.04.3 LTS "Precise Pangolin" - Release amd64 (20130820.1) MarkForUpload: True SourcePackage: wget UpgradeStatus: No upgrade log present (probably fresh install) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/wget/+bug/1291373/+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