==6700== Memcheck, a memory error detector for x86-linux. ==6700== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==6700== Using valgrind-2.4.0, a program supervision framework for x86-linux. ==6700== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==6700== Valgrind library directory: /usr/lib/valgrind ==6700== Command line ==6700== ./CyclicRef ==6700== Startup, with flags: ==6700== --tool=memcheck ==6700== --leak-check=full ==6700== -v ==6700== Contents of /proc/version: ==6700== Linux version 2.6.14-gentoo-r2 (root@DopeoCompano) (gcc version 3.3.6 (Gentoo 3.3.6, ssp-3.3.6-1.0, pie-8.7.8)) #16 PREEMPT Thu Jan 26 13:49:50 EST 2006 ==6700== Reading syms from /home/cutler/www/TechNotes/SmartPtr/CyclicRef (0x8048000) ==6700== Reading syms from /lib/ld-2.3.5.so (0x1B8E4000) ==6700== object doesn't have any debug info ==6700== Reading syms from /usr/lib/valgrind/stage2 (0xB0000000) ==6700== object doesn't have a symbol table ==6700== object doesn't have any debug info ==6700== Reading syms from /lib/ld-2.3.5.so (0xB1000000) ==6700== object doesn't have any debug info ==6700== Reading syms from /usr/lib/valgrind/vgskin_memcheck.so (0xB7BE0000) ==6700== object doesn't have a symbol table ==6700== object doesn't have any debug info ==6700== Reading syms from /lib/libc-2.3.5.so (0xB7E44000) ==6700== object doesn't have a symbol table ==6700== object doesn't have any debug info ==6700== Reading syms from /lib/libdl-2.3.5.so (0xB7F5F000) ==6700== object doesn't have a symbol table ==6700== object doesn't have any debug info ==6700== Reading suppressions file: /usr/lib/valgrind/default.supp ==6700== ==6700== Reading syms from /usr/lib/valgrind/vg_inject.so (0x1B8FC000) ==6700== object doesn't have a symbol table ==6700== object doesn't have any debug info ==6700== Reading syms from /usr/lib/valgrind/vgpreload_memcheck.so (0x1B901000) ==6700== object doesn't have a symbol table ==6700== object doesn't have any debug info ==6700== Reading syms from /lib/libdl-2.3.5.so (0x1B919000) ==6700== object doesn't have a symbol table ==6700== object doesn't have any debug info ==6700== Reading syms from /lib/libpthread-2.3.5.so (0x1B91E000) ==6700== Reading syms from /lib/librt-2.3.5.so (0x1B931000) ==6700== object doesn't have a symbol table ==6700== object doesn't have any debug info ==6700== Reading syms from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5.0.7 (0x1B93B000) ==6700== Reading syms from /lib/libm-2.3.5.so (0x1B9F6000) ==6700== object doesn't have a symbol table ==6700== object doesn't have any debug info ==6700== Reading syms from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libgcc_s.so.1 (0x1BA1C000) ==6700== Reading syms from /lib/libc-2.3.5.so (0x1BA25000) ==6700== object doesn't have a symbol table ==6700== object doesn't have any debug info ==6700== TRANSLATE: 0x1B8E47B0 redirected to 0x52BFF020 ==6700== Conditional jump or move depends on uninitialised value(s) ==6700== at 0x1BA8CE46: strstr (in /lib/libc-2.3.5.so) ==6700== by 0x1B9227FB: __pthread_initialize_minimal (in /lib/libpthread-2.3.5.so) ==6700== by 0x1B922357: ??? (crti.S:14) ==6700== by 0x1B921F07: ??? (crti.S:26) ==6700== by 0x1B8EFADD: call_init (in /lib/ld-2.3.5.so) ==6700== by 0x1B8EFC6D: _dl_init (in /lib/ld-2.3.5.so) ==6700== by 0x1B8E480E: (within /lib/ld-2.3.5.so) ==6700== ==6700== Conditional jump or move depends on uninitialised value(s) ==6700== at 0x1BA8CE32: strstr (in /lib/libc-2.3.5.so) ==6700== by 0x1B9227FB: __pthread_initialize_minimal (in /lib/libpthread-2.3.5.so) ==6700== by 0x1B922357: ??? (crti.S:14) ==6700== by 0x1B921F07: ??? (crti.S:26) ==6700== by 0x1B8EFADD: call_init (in /lib/ld-2.3.5.so) ==6700== by 0x1B8EFC6D: _dl_init (in /lib/ld-2.3.5.so) ==6700== by 0x1B8E480E: (within /lib/ld-2.3.5.so) ==6700== TRANSLATE: 0x1BA8C570 redirected to 0x1B905730 ==6700== TRANSLATE: 0x1B9CD120 redirected to 0x1B904450 construction a Dad construction a Child parent.use_count = 1 child.use_count = 1 parent.use_count = 2 child.use_count = 2 parent.use_count = 0 child.use_count = 0 returning to os ==6700== TRANSLATE: 0x1BA87CB0 redirected to 0x1B9048C0 ==6700== ==6700== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 25 from 1) ==6700== ==6700== 1 errors in context 1 of 2: ==6700== Conditional jump or move depends on uninitialised value(s) ==6700== at 0x1BA8CE32: strstr (in /lib/libc-2.3.5.so) ==6700== by 0x1B9227FB: __pthread_initialize_minimal (in /lib/libpthread-2.3.5.so) ==6700== by 0x1B922357: ??? (crti.S:14) ==6700== by 0x1B921F07: ??? (crti.S:26) ==6700== by 0x1B8EFADD: call_init (in /lib/ld-2.3.5.so) ==6700== by 0x1B8EFC6D: _dl_init (in /lib/ld-2.3.5.so) ==6700== by 0x1B8E480E: (within /lib/ld-2.3.5.so) ==6700== ==6700== 1 errors in context 2 of 2: ==6700== Conditional jump or move depends on uninitialised value(s) ==6700== at 0x1BA8CE46: strstr (in /lib/libc-2.3.5.so) ==6700== by 0x1B9227FB: __pthread_initialize_minimal (in /lib/libpthread-2.3.5.so) ==6700== by 0x1B922357: ??? (crti.S:14) ==6700== by 0x1B921F07: ??? (crti.S:26) ==6700== by 0x1B8EFADD: call_init (in /lib/ld-2.3.5.so) ==6700== by 0x1B8EFC6D: _dl_init (in /lib/ld-2.3.5.so) ==6700== by 0x1B8E480E: (within /lib/ld-2.3.5.so) --6700-- --6700-- supp: 25 dl_relocate_object ==6700== ==6700== IN SUMMARY: 2 errors from 2 contexts (suppressed: 25 from 1) ==6700== ==6700== malloc/free: in use at exit: 64 bytes in 4 blocks. ==6700== malloc/free: 4 allocs, 0 frees, 64 bytes allocated. ==6700== ==6700== searching for pointers to 4 not-freed blocks. ==6700== checked 135168 bytes. ==6700== ==6700== ==6700== 64 (16 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 4 of 4 ==6700== at 0x1B9044C8: operator new(unsigned) (in /usr/lib/valgrind/vgpreload_memcheck.so) ==6700== by 0x8048C76: main (CyclicRef.cpp:56) ==6700== ==6700== LEAK SUMMARY: ==6700== definitely lost: 16 bytes in 1 blocks. ==6700== indirectly lost: 48 bytes in 3 blocks. ==6700== possibly lost: 0 bytes in 0 blocks. ==6700== still reachable: 0 bytes in 0 blocks. ==6700== suppressed: 0 bytes in 0 blocks. ==6700== Reachable blocks (those to which a pointer was found) are not shown. ==6700== To see them, rerun with: --show-reachable=yes --6700-- TT/TC: 0 tc sectors discarded. --6700-- 3972 tt_fast misses. --6700-- translate: new 3538 (57956 -> 788424; ratio 136:10) --6700-- discard 0 (0 -> 0; ratio 0:10). --6700-- chainings: 2041 chainings, 0 unchainings. --6700-- dispatch: 425781 jumps (bb entries); of them 36375 (8%) unchained. --6700-- 9/4085 major/minor sched events. --6700-- reg-alloc: 633 t-req-spill, 140828+4646 orig+spill uis, --6700-- 18103 total-reg-rank --6700-- sanity: 10 cheap, 1 expensive checks. --6700-- ccalls: 14167 C calls, 55% saves+restores avoided (46540 bytes) --6700-- 19193 args, avg 0.87 setup instrs each (4916 bytes) --6700-- 0% clear the stack (42321 bytes) --6700-- 5561 retvals, 32% of reg-reg movs avoided (3552 bytes)