Re: Squid 3.1.0.5 uses memory without bounds

From: Steinar H. Gunderson <sgunderson_at_bigfoot.com>
Date: Sun, 8 Feb 2009 01:18:27 +0100

On Sun, Feb 08, 2009 at 12:38:42AM +0100, Steinar H. Gunderson wrote:
> I'm using Squid 3.1.0.5 on my amd64 system (Debian unstable), and I'm having
> problems that it seems to use RAM without bounds (about 1GB/week) even though
> my cache_mem is only 128MB. I ran it through valgrind, and it showed a few
> leaks and lots of memory that was still reachable. (I started Squid using
> -NYC, and exited it with Ctrl-C.) I hope someone can find and fix these issues; restarting Squid every week is not a very good option :-)

I was asked for the same traces with client_persistent_connections and
server_persistent_connections off. Here they are -- the server ran much
shorter before I Ctrl-C-ed it, though, so the numbers will be smaller.

==23075== Syscall param write(buf) points to uninitialised byte(s)
==23075== at 0x4E33720: __write_nocancel (in /lib/libpthread-2.7.so)
==23075== by 0x4DEE3B: default_write_method(int, char const*, int) (fd.cc:167)
==23075== by 0x582C46: UFSCleanLog::write(StoreEntry const&) (store_dir_ufs.cc:941)
==23075== by 0x552B11: storeDirWriteCleanLogs (store_dir.cc:475)
==23075== by 0x520273: _ZL13SquidShutdownv (main.cc:1686)
==23075== by 0x5216C2: main (main.cc:1352)
==23075== Address 0xbcbf391 is 1 bytes inside a block of size 16,384 alloc'd
==23075== at 0x4C203E4: calloc (vg_replace_malloc.c:397)
==23075== by 0x5C4DF1: xcalloc (util.c:688)
==23075== by 0x585834: UFSSwapDir::writeCleanStart() (store_dir_ufs.cc:883)
==23075== by 0x552867: storeDirWriteCleanLogs (store_dir.cc:445)
==23075== by 0x520273: _ZL13SquidShutdownv (main.cc:1686)
==23075== by 0x5216C2: main (main.cc:1352)
==23075==
==23075== Syscall param write(buf) points to uninitialised byte(s)
==23075== at 0x4E33720: __write_nocancel (in /lib/libpthread-2.7.so)
==23075== by 0x4DEE3B: default_write_method(int, char const*, int) (fd.cc:167)
==23075== by 0x582DA1: UFSSwapDir::writeCleanDone() (store_dir_ufs.cc:971)
==23075== by 0x552AC1: storeDirWriteCleanLogs (store_dir.cc:487)
==23075== by 0x520273: _ZL13SquidShutdownv (main.cc:1686)
==23075== by 0x5216C2: main (main.cc:1352)
==23075== Address 0xbcbf391 is 1 bytes inside a block of size 16,384 alloc'd
==23075== at 0x4C203E4: calloc (vg_replace_malloc.c:397)
==23075== by 0x5C4DF1: xcalloc (util.c:688)
==23075== by 0x585834: UFSSwapDir::writeCleanStart() (store_dir_ufs.cc:883)
==23075== by 0x552867: storeDirWriteCleanLogs (store_dir.cc:445)
==23075== by 0x520273: _ZL13SquidShutdownv (main.cc:1686)
==23075== by 0x5216C2: main (main.cc:1352)
==23075==
==23075== Invalid read of size 1
==23075== at 0x56DEEC: comm_remove_close_handler(int, RefCount<AsyncCall>&) (comm.cc:1704)
==23075== by 0x56E038: DeferredReadManager::popHead(CbDataListContainer<DeferredRead>&) (comm.cc:2521)
==23075== by 0x56E142: DeferredReadManager::flushReads() (comm.cc:2557)
==23075== by 0x56E215: DeferredReadManager::~DeferredReadManager() (comm.cc:2479)
==23075== by 0x525C38: MemObject::~MemObject() (MemObject.cc:129)
==23075== by 0x5490D3: StoreEntry::destroyMemObject() (store.cc:376)
==23075== by 0x54AA16: destroyStoreEntry(void*) (store.cc:389)
==23075== by 0x5BFAC5: hashFreeItems (hash.c:308)
==23075== by 0x550768: StoreHashIndex::~StoreHashIndex() (store_dir.cc:718)
==23075== by 0x550A22: StoreSearchHashIndex::~StoreSearchHashIndex() (RefCount.h:100)
==23075== by 0x60849CC: exit (in /lib/libc-2.7.so)
==23075== by 0x520333: _ZL13SquidShutdownv (main.cc:1765)
==23075== by 0x5216C2: main (main.cc:1352)
==23075== Address 0x3198 is not stack'd, malloc'd or (recently) free'd
==23075==
==23075== Process terminating with default action of signal 11 (SIGSEGV)
==23075== Access not within mapped region at address 0x3198
==23075== at 0x56DEEC: comm_remove_close_handler(int, RefCount<AsyncCall>&) (comm.cc:1704)
==23075== by 0x56E038: DeferredReadManager::popHead(CbDataListContainer<DeferredRead>&) (comm.cc:2521)
==23075== by 0x56E142: DeferredReadManager::flushReads() (comm.cc:2557)
==23075== by 0x56E215: DeferredReadManager::~DeferredReadManager() (comm.cc:2479)
==23075== by 0x525C38: MemObject::~MemObject() (MemObject.cc:129)
==23075== by 0x5490D3: StoreEntry::destroyMemObject() (store.cc:376)
==23075== by 0x54AA16: destroyStoreEntry(void*) (store.cc:389)
==23075== by 0x5BFAC5: hashFreeItems (hash.c:308)
==23075== by 0x550768: StoreHashIndex::~StoreHashIndex() (store_dir.cc:718)
==23075== by 0x550A22: StoreSearchHashIndex::~StoreSearchHashIndex() (RefCount.h:100)
==23075== by 0x60849CC: exit (in /lib/libc-2.7.so)
==23075== by 0x520333: _ZL13SquidShutdownv (main.cc:1765)
==23075== by 0x5216C2: main (main.cc:1352)
==23075==
==23075== ERROR SUMMARY: 270 errors from 4 contexts (suppressed: 36 from 3)
==23075== malloc/free: in use at exit: 61,057,614 bytes in 163,678 blocks.
==23075== malloc/free: 1,187,411 allocs, 1,023,733 frees, 160,076,176 bytes allocated.
==23075== For counts of detected errors, rerun with: -v
==23075== searching for pointers to 163,678 not-freed blocks.
==23075== checked 59,013,712 bytes.
==23075==
==23075==
==23075== 32 bytes in 1 blocks are still reachable in loss record 1 of 30
==23075== at 0x4C203E4: calloc (vg_replace_malloc.c:397)
==23075== by 0x6102548: (within /lib/libc-2.7.so)
==23075== by 0x6104272: (within /lib/libc-2.7.so)
==23075== by 0x610431F: (within /lib/libc-2.7.so)
==23075== by 0x6104708: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x52749C: mimeInit (mime.cc:461)
==23075== by 0x520C8A: _ZL14mainInitializev (main.cc:971)
==23075== by 0x52161F: main (main.cc:1313)
==23075==
==23075==
==23075== 536 (104 direct, 432 indirect) bytes in 2 blocks are definitely lost in loss record 2 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x612E52F: (within /lib/libc-2.7.so)
==23075== by 0x612ED06: __nss_database_lookup (in /lib/libc-2.7.so)
==23075== by 0x69B131F: ???
==23075== by 0x69B23D6: ???
==23075== by 0x60ECEA2: getpwnam_r (in /lib/libc-2.7.so)
==23075== by 0x60EC85F: getpwnam (in /lib/libc-2.7.so)
==23075== by 0x4A2A00: parseConfigFile(char const*) (cache_cf.cc:622)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 144 bytes in 9 blocks are indirectly lost in loss record 3 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x612E119: __nss_lookup_function (in /lib/libc-2.7.so)
==23075== by 0x69B133A: ???
==23075== by 0x69B23D6: ???
==23075== by 0x60ECEA2: getpwnam_r (in /lib/libc-2.7.so)
==23075== by 0x60EC85F: getpwnam (in /lib/libc-2.7.so)
==23075== by 0x4A2A00: parseConfigFile(char const*) (cache_cf.cc:622)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 288 bytes in 9 blocks are indirectly lost in loss record 4 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x611DEC3: tsearch (in /lib/libc-2.7.so)
==23075== by 0x612E0B9: __nss_lookup_function (in /lib/libc-2.7.so)
==23075== by 0x69B133A: ???
==23075== by 0x69B23D6: ???
==23075== by 0x60ECEA2: getpwnam_r (in /lib/libc-2.7.so)
==23075== by 0x60EC85F: getpwnam (in /lib/libc-2.7.so)
==23075== by 0x4A2A00: parseConfigFile(char const*) (cache_cf.cc:622)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 568 bytes in 1 blocks are still reachable in loss record 5 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x60B4749: (within /lib/libc-2.7.so)
==23075== by 0x4C6873: _ZL12debugOpenLogPKc (debug.cc:264)
==23075== by 0x4C7943: _db_init (debug.cc:461)
==23075== by 0x5207F1: _ZL14mainInitializev (main.cc:868)
==23075== by 0x52161F: main (main.cc:1313)
==23075==
==23075==
==23075== 592 bytes in 2 blocks are still reachable in loss record 6 of 30
==23075== at 0x4C22741: realloc (vg_replace_malloc.c:429)
==23075== by 0x5C4E67: xrealloc (util.c:631)
==23075== by 0x54641B: storeReplAdd (store.cc:1714)
==23075== by 0x52127F: main (main.cc:1221)
==23075==
==23075==
==23075== 756 bytes in 189 blocks are still reachable in loss record 7 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x60F6E19: (within /lib/libc-2.7.so)
==23075== by 0x60F634B: (within /lib/libc-2.7.so)
==23075== by 0x61048EC: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x52749C: mimeInit (mime.cc:461)
==23075== by 0x520C8A: _ZL14mainInitializev (main.cc:971)
==23075== by 0x52161F: main (main.cc:1313)
==23075==
==23075==
==23075== 1,008 bytes in 63 blocks are still reachable in loss record 8 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x60FB1CB: (within /lib/libc-2.7.so)
==23075== by 0x6104CF7: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x52749C: mimeInit (mime.cc:461)
==23075== by 0x520C8A: _ZL14mainInitializev (main.cc:971)
==23075== by 0x52161F: main (main.cc:1313)
==23075==
==23075==
==23075== 1,672 bytes in 292 blocks are still reachable in loss record 9 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x60F8356: (within /lib/libc-2.7.so)
==23075== by 0x60FAF96: (within /lib/libc-2.7.so)
==23075== by 0x6104CF7: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x49876F: _ZL20parse_refreshpatternPP10_refresh_t (cache_cf.cc:2314)
==23075== by 0x4A0B26: _ZL10parse_linePc (cf_parser.h:1042)
==23075== by 0x4A182D: _ZL18parseOneConfigFilePKcj (cache_cf.cc:357)
==23075== by 0x4A258F: parseConfigFile(char const*) (cache_cf.cc:392)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 1,968 bytes in 15 blocks are still reachable in loss record 10 of 30
==23075== at 0x4C22741: realloc (vg_replace_malloc.c:429)
==23075== by 0x60F892A: (within /lib/libc-2.7.so)
==23075== by 0x60F89D7: (within /lib/libc-2.7.so)
==23075== by 0x60F8CDD: (within /lib/libc-2.7.so)
==23075== by 0x60F8F3E: (within /lib/libc-2.7.so)
==23075== by 0x6104957: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x52749C: mimeInit (mime.cc:461)
==23075== by 0x520C8A: _ZL14mainInitializev (main.cc:971)
==23075== by 0x52161F: main (main.cc:1313)
==23075==
==23075==
==23075== 3,120 bytes in 3 blocks are still reachable in loss record 11 of 30
==23075== at 0x4C203E4: calloc (vg_replace_malloc.c:397)
==23075== by 0x6084B87: (within /lib/libc-2.7.so)
==23075== by 0x6084C60: __cxa_atexit (in /lib/libc-2.7.so)
==23075== by 0x5C9155: (within /usr/sbin/squid3)
==23075== by 0x47E9AA: (within /usr/sbin/squid3)
==23075==
==23075==
==23075== 4,208 bytes in 4 blocks are possibly lost in loss record 12 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x5C4F07: xmalloc (util.c:506)
==23075== by 0x51249C: httpHeaderBuildFieldsInfo (SquidNew.h:56)
==23075== by 0x50C8AE: httpHeaderInitModule (HttpHeader.cc:288)
==23075== by 0x52088C: _ZL14mainInitializev (main.cc:936)
==23075== by 0x52161F: main (main.cc:1313)
==23075==
==23075==
==23075== 4,632 bytes in 162 blocks are still reachable in loss record 13 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x6104774: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x49876F: _ZL20parse_refreshpatternPP10_refresh_t (cache_cf.cc:2314)
==23075== by 0x4A0B26: _ZL10parse_linePc (cf_parser.h:1042)
==23075== by 0x4A182D: _ZL18parseOneConfigFilePKcj (cache_cf.cc:357)
==23075== by 0x4A258F: parseConfigFile(char const*) (cache_cf.cc:392)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 7,396 bytes in 1,657 blocks are still reachable in loss record 14 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x60F6DDC: (within /lib/libc-2.7.so)
==23075== by 0x60F8D92: (within /lib/libc-2.7.so)
==23075== by 0x6104957: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x49876F: _ZL20parse_refreshpatternPP10_refresh_t (cache_cf.cc:2314)
==23075== by 0x4A0B26: _ZL10parse_linePc (cf_parser.h:1042)
==23075== by 0x4A182D: _ZL18parseOneConfigFilePKcj (cache_cf.cc:357)
==23075== by 0x4A258F: parseConfigFile(char const*) (cache_cf.cc:392)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 7,872 bytes in 15 blocks are still reachable in loss record 15 of 30
==23075== at 0x4C22741: realloc (vg_replace_malloc.c:429)
==23075== by 0x60F8957: (within /lib/libc-2.7.so)
==23075== by 0x60F89D7: (within /lib/libc-2.7.so)
==23075== by 0x60F8CDD: (within /lib/libc-2.7.so)
==23075== by 0x60F8F3E: (within /lib/libc-2.7.so)
==23075== by 0x6104957: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x52749C: mimeInit (mime.cc:461)
==23075== by 0x520C8A: _ZL14mainInitializev (main.cc:971)
==23075== by 0x52161F: main (main.cc:1313)
==23075==
==23075==
==23075== 7,872 bytes in 15 blocks are still reachable in loss record 16 of 30
==23075== at 0x4C22741: realloc (vg_replace_malloc.c:429)
==23075== by 0x60F8948: (within /lib/libc-2.7.so)
==23075== by 0x60F89D7: (within /lib/libc-2.7.so)
==23075== by 0x60F8CDD: (within /lib/libc-2.7.so)
==23075== by 0x60F8F3E: (within /lib/libc-2.7.so)
==23075== by 0x6104957: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x52749C: mimeInit (mime.cc:461)
==23075== by 0x520C8A: _ZL14mainInitializev (main.cc:971)
==23075== by 0x52161F: main (main.cc:1313)
==23075==
==23075==
==23075== 7,872 bytes in 15 blocks are still reachable in loss record 17 of 30
==23075== at 0x4C22741: realloc (vg_replace_malloc.c:429)
==23075== by 0x60F8911: (within /lib/libc-2.7.so)
==23075== by 0x60F89D7: (within /lib/libc-2.7.so)
==23075== by 0x60F8CDD: (within /lib/libc-2.7.so)
==23075== by 0x60F8F3E: (within /lib/libc-2.7.so)
==23075== by 0x6104957: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x52749C: mimeInit (mime.cc:461)
==23075== by 0x520C8A: _ZL14mainInitializev (main.cc:971)
==23075== by 0x52161F: main (main.cc:1313)
==23075==
==23075==
==23075== 10,240 bytes in 5 blocks are still reachable in loss record 18 of 30
==23075== at 0x4C203E4: calloc (vg_replace_malloc.c:397)
==23075== by 0x60FEE09: (within /lib/libc-2.7.so)
==23075== by 0x61002D9: (within /lib/libc-2.7.so)
==23075== by 0x610118D: regexec (in /lib/libc-2.7.so)
==23075== by 0x5265BB: _ZL12mimeGetEntryPKci (mime.cc:236)
==23075== by 0x5266FA: mimeGetContentType (mime.cc:324)
==23075== by 0x526B61: MimeIcon::load() (mime.cc:523)
==23075== by 0x527270: mimeInit (mime.cc:497)
==23075== by 0x520C8A: _ZL14mainInitializev (main.cc:971)
==23075== by 0x52161F: main (main.cc:1313)
==23075==
==23075==
==23075== 18,528 bytes in 162 blocks are still reachable in loss record 19 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x61047AD: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x49876F: _ZL20parse_refreshpatternPP10_refresh_t (cache_cf.cc:2314)
==23075== by 0x4A0B26: _ZL10parse_linePc (cf_parser.h:1042)
==23075== by 0x4A182D: _ZL18parseOneConfigFilePKcj (cache_cf.cc:357)
==23075== by 0x4A258F: parseConfigFile(char const*) (cache_cf.cc:392)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 18,528 bytes in 162 blocks are still reachable in loss record 20 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x610479A: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x49876F: _ZL20parse_refreshpatternPP10_refresh_t (cache_cf.cc:2314)
==23075== by 0x4A0B26: _ZL10parse_linePc (cf_parser.h:1042)
==23075== by 0x4A182D: _ZL18parseOneConfigFilePKcj (cache_cf.cc:357)
==23075== by 0x4A258F: parseConfigFile(char const*) (cache_cf.cc:392)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 18,528 bytes in 162 blocks are still reachable in loss record 21 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x6104494: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x49876F: _ZL20parse_refreshpatternPP10_refresh_t (cache_cf.cc:2314)
==23075== by 0x4A0B26: _ZL10parse_linePc (cf_parser.h:1042)
==23075== by 0x4A182D: _ZL18parseOneConfigFilePKcj (cache_cf.cc:357)
==23075== by 0x4A258F: parseConfigFile(char const*) (cache_cf.cc:392)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 20,152 bytes in 229 blocks are still reachable in loss record 22 of 30
==23075== at 0x4C203E4: calloc (vg_replace_malloc.c:397)
==23075== by 0x60FAF76: (within /lib/libc-2.7.so)
==23075== by 0x6104CF7: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x49876F: _ZL20parse_refreshpatternPP10_refresh_t (cache_cf.cc:2314)
==23075== by 0x4A0B26: _ZL10parse_linePc (cf_parser.h:1042)
==23075== by 0x4A182D: _ZL18parseOneConfigFilePKcj (cache_cf.cc:357)
==23075== by 0x4A258F: parseConfigFile(char const*) (cache_cf.cc:392)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 28,096 bytes in 177 blocks are still reachable in loss record 23 of 30
==23075== at 0x4C203E4: calloc (vg_replace_malloc.c:397)
==23075== by 0x61044C5: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x49876F: _ZL20parse_refreshpatternPP10_refresh_t (cache_cf.cc:2314)
==23075== by 0x4A0B26: _ZL10parse_linePc (cf_parser.h:1042)
==23075== by 0x4A182D: _ZL18parseOneConfigFilePKcj (cache_cf.cc:357)
==23075== by 0x4A258F: parseConfigFile(char const*) (cache_cf.cc:392)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 43,296 bytes in 405 blocks are still reachable in loss record 24 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x4C22797: realloc (vg_replace_malloc.c:429)
==23075== by 0x6105037: (within /lib/libc-2.7.so)
==23075== by 0x61060E2: regcomp (in /lib/libc-2.7.so)
==23075== by 0x49876F: _ZL20parse_refreshpatternPP10_refresh_t (cache_cf.cc:2314)
==23075== by 0x4A0B26: _ZL10parse_linePc (cf_parser.h:1042)
==23075== by 0x4A182D: _ZL18parseOneConfigFilePKcj (cache_cf.cc:357)
==23075== by 0x4A258F: parseConfigFile(char const*) (cache_cf.cc:392)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 45,312 bytes in 177 blocks are still reachable in loss record 25 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x6106073: regcomp (in /lib/libc-2.7.so)
==23075== by 0x49876F: _ZL20parse_refreshpatternPP10_refresh_t (cache_cf.cc:2314)
==23075== by 0x4A0B26: _ZL10parse_linePc (cf_parser.h:1042)
==23075== by 0x4A182D: _ZL18parseOneConfigFilePKcj (cache_cf.cc:357)
==23075== by 0x4A258F: parseConfigFile(char const*) (cache_cf.cc:392)
==23075== by 0x5212B5: main (main.cc:1232)
==23075==
==23075==
==23075== 58,552 bytes in 563 blocks are indirectly lost in loss record 26 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x5C4F07: xmalloc (util.c:506)
==23075== by 0x574501: DeferredReadManager::delayRead(DeferredRead const&) (SquidNew.h:48)
==23075== by 0x547596: StoreEntry::delayAwareRead(int, char*, int, RefCount<AsyncCall>) (store.cc:241)
==23075== by 0x502C4A: HttpStateData::maybeReadVirginBody() (http.cc:1332)
==23075== by 0x50150D: HttpStateData::processReplyBody() (http.cc:1301)
==23075== by 0x501177: HttpStateData::readReply(CommIoCbParams const&) (http.cc:1107)
==23075== by 0x578B7A: JobDialer::dial(AsyncCall&) (AsyncJob.cc:215)
==23075== by 0x4968D2: AsyncCall::make() (AsyncCall.cc:34)
==23075== by 0x495C9F: AsyncCallQueue::fireNext() (AsyncCallQueue.cc:53)
==23075== by 0x495E57: AsyncCallQueue::fire() (AsyncCallQueue.cc:39)
==23075== by 0x4DAB1B: EventLoop::runOnce() (EventLoop.cc:131)
==23075== by 0x4DABF7: EventLoop::run() (EventLoop.cc:95)
==23075== by 0x5216B3: main (main.cc:1346)
==23075==
==23075==
==23075== 73,496 (14,944 direct, 58,552 indirect) bytes in 110 blocks are definitely lost in loss record 27 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x5C4F07: xmalloc (util.c:506)
==23075== by 0x4B3BF2: ClientSocketContext::sendBody(HttpReply*, StoreIOBuffer) (SquidNew.h:48)
==23075== by 0x4B43DA: _ZL21clientSocketRecipientP16clientStreamNodeP17ClientHttpRequestP9HttpReply13StoreIOBuffer (client_side.cc:1280)
==23075== by 0x4B841E: clientReplyContext::pushStreamData(StoreIOBuffer const&, char*) (client_side_reply.cc:1734)
==23075== by 0x4B8761: clientReplyContext::sendMoreData(StoreIOBuffer) (client_side_reply.cc:1976)
==23075== by 0x54C5ED: store_client::callback(long, bool) (store_client.cc:164)
==23075== by 0x54CAC4: store_client::scheduleMemRead() (store_client.cc:448)
==23075== by 0x54CF94: store_client::doCopy(StoreEntry*) (store_client.cc:377)
==23075== by 0x54D148: _ZL16storeClientCopy2P10StoreEntryP12store_client (store_client.cc:331)
==23075== by 0x4BA294: clientGetMoreData (client_side_reply.cc:1593)
==23075== by 0x4AE315: ClientSocketContext::pullData() (client_side.cc:1518)
==23075== by 0x4968D2: AsyncCall::make() (AsyncCall.cc:34)
==23075== by 0x495C9F: AsyncCallQueue::fireNext() (AsyncCallQueue.cc:53)
==23075== by 0x495E57: AsyncCallQueue::fire() (AsyncCallQueue.cc:39)
==23075== by 0x4DAB1B: EventLoop::runOnce() (EventLoop.cc:131)
==23075== by 0x4DABF7: EventLoop::run() (EventLoop.cc:95)
==23075== by 0x5216B3: main (main.cc:1346)
==23075==
==23075==
==23075== 484,520 bytes in 1 blocks are possibly lost in loss record 28 of 30
==23075== at 0x4C203E4: calloc (vg_replace_malloc.c:397)
==23075== by 0x5C4DF1: xcalloc (util.c:688)
==23075== by 0x5BFA73: hashFreeItems (hash.c:301)
==23075== by 0x550768: StoreHashIndex::~StoreHashIndex() (store_dir.cc:718)
==23075== by 0x550A22: StoreSearchHashIndex::~StoreSearchHashIndex() (RefCount.h:100)
==23075== by 0x60849CC: exit (in /lib/libc-2.7.so)
==23075== by 0x520333: _ZL13SquidShutdownv (main.cc:1765)
==23075== by 0x5216C2: main (main.cc:1352)
==23075==
==23075==
==23075== 16,245,636 bytes in 155,949 blocks are still reachable in loss record 29 of 30
==23075== at 0x4C2260E: malloc (vg_replace_malloc.c:207)
==23075== by 0x5C4F07: xmalloc (util.c:506)
==23075== by 0x5A591D: _GLOBAL__I_ICAPXaction.cc (SquidNew.h:48)
==23075== by 0x5C9155: (within /usr/sbin/squid3)
==23075== by 0x47E9AA: (within /usr/sbin/squid3)
==23075==
==23075==
==23075== 44,001,178 bytes in 3,122 blocks are still reachable in loss record 30 of 30
==23075== at 0x4C203E4: calloc (vg_replace_malloc.c:397)
==23075== by 0x5C4DF1: xcalloc (util.c:688)
==23075== by 0x5BFB0F: hash_create (hash.c:147)
==23075== by 0x52D809: PconnPool::PconnPool(char const*) (pconn.cc:236)
==23075== by 0x5A592F: _GLOBAL__I_ICAPXaction.cc (ICAPXaction.cc:15)
==23075== by 0x5C9155: (within /usr/sbin/squid3)
==23075== by 0x47E9AA: (within /usr/sbin/squid3)
==23075==
==23075== LEAK SUMMARY:
==23075== definitely lost: 15,048 bytes in 112 blocks.
==23075== indirectly lost: 58,984 bytes in 581 blocks.
==23075== possibly lost: 488,728 bytes in 5 blocks.
==23075== still reachable: 60,494,854 bytes in 162,980 blocks.
==23075== suppressed: 0 bytes in 0 blocks.

/* Steinar */

-- 
Homepage: http://www.sesse.net/
Received on Tue Feb 10 2009 - 22:49:59 MST

This archive was generated by hypermail 2.2.0 : Fri Feb 13 2009 - 12:00:03 MST