Hello, I have a "strange" memory leak in my XML parser which I cannot locate using valgrind.
In my testcase I'm creating and deleting a XML node and after the test valgrind is not showing any memory leaks but rss memory is still active VmRSS: 11184 kB ( VmRSS after the XML node creation was 11048 kB so it increased by 136 after executing the XML node destructor ) In the valigirng report I found "--30004-- memcheck: auxmaps: 179 auxmap entries (11456k, 11M) in use" which fits to the remaining 11048 kB in the RSS memory.What does this mean ? ==30004== Memcheck, a memory error detector. ==30004== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al. ==30004== Using LibVEX rev 1658, a library for dynamic binary translation. ==30004== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP. ==30004== Using valgrind-3.2.1, a dynamic binary instrumentation framework. ==30004== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al. ==30004== ==30004== My PID = 30004, parent PID = 27692. Prog and args are: ==30004== ./ala ==30004== --30004-- --30004-- Command line --30004-- ./ala --30004-- Startup, with flags: --30004-- --tool=memcheck --30004-- --leak-check=full --30004-- --leak-resolution=high --30004-- --num-callers=40 --30004-- --show-reachable=yes --30004-- --error-limit=no --30004-- -v --30004-- --log-file=valgrind.log --30004-- Contents of /proc/version: --30004-- Linux version 2.6.39.4-1.NSN.kiuas (r...@trling23.emea.nsn-net.net) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Wed Aug 10 12:16:36 EEST 2011 --30004-- Arch and hwcaps: AMD64, amd64-sse2 --30004-- Valgrind library directory: /usr/lib64/valgrind --30004-- Reading syms from /home/kubinski/max/22/ala (0x400000) --30004-- Reading syms from /usr/lib64/valgrind/amd64-linux/memcheck (0x38000000) --30004-- object doesn't have a dynamic symbol table --30004-- Reading syms from /lib64/ld-2.5.so (0x3734000000) --30004-- Reading suppressions file: /usr/lib64/valgrind/default.supp --30004-- Reading syms from /usr/lib64/valgrind/amd64-linux/vgpreload_core.so (0x4802000) --30004-- Reading syms from /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so (0x4A03000) --30004-- REDIR: 0x3734014400 (index) redirected to 0x4A06550 (index) --30004-- REDIR: 0x37340145B0 (strcmp) redirected to 0x4A067D0 (strcmp) --30004-- REDIR: 0x37340145E0 (strlen) redirected to 0x4A06700 (strlen) --30004-- Reading syms from /usr/lib64/libstdc++.so.6.0.8 (0x3739400000) --30004-- object doesn't have a symbol table --30004-- Reading syms from /lib64/libm-2.5.so (0x3735800000) --30004-- Reading syms from /lib64/libgcc_s-4.1.2-20080825.so.1 (0x3738C00000) --30004-- object doesn't have a symbol table --30004-- Reading syms from /lib64/libc-2.5.so (0x3735000000) --30004-- REDIR: 0x3735079AB0 (rindex) redirected to 0x4A06400 (rindex) --30004-- REDIR: 0x373507A970 (memset) redirected to 0x4A06920 (memset) --30004-- REDIR: 0x37350796C0 (strlen) redirected to 0x4A066C0 (strlen) --30004-- REDIR: 0x37394BD160 (operator new(unsigned long)) redirected to 0x4A05F95 (operator new(unsigned long)) --30004-- REDIR: 0x373507BDB0 (memcpy) redirected to 0x4A06FF0 (memcpy) ==30004== Conditional jump or move depends on uninitialised value(s) ==30004== at 0x373949B2BD: (within /usr/lib64/libstdc++.so.6.0.8) ==30004== by 0x373949B585: std::string::find(char const*, unsigned long, unsigned long) const (in /usr/lib64/libstdc++.so.6.0.8) ==30004== by 0x402621: libXML::CParser::changeCharsToEntitiesInCDATA() (in /home/kubinski/max/22/ala) ==30004== by 0x404259: libXML::CParser::parse(std::string&) (in /home/kubinski/max/22/ala) ==30004== by 0x4017E3: main (in /home/kubinski/max/22/ala) --30004-- REDIR: 0x37394BBEF0 (operator delete(void*)) redirected to 0x4A050A9 (operator delete(void*)) --30004-- REDIR: 0x373507A1B0 (memchr) redirected to 0x4A06850 (memchr) ==30004== ==30004== Conditional jump or move depends on uninitialised value(s) ==30004== at 0x404167: libXML::CParser::parse() (in /home/kubinski/max/22/ala) ==30004== by 0x404262: libXML::CParser::parse(std::string&) (in /home/kubinski/max/22/ala) ==30004== by 0x4017E3: main (in /home/kubinski/max/22/ala) --30004-- REDIR: 0x37350726F0 (free) redirected to 0x4A05397 (free) ==30004== ==30004== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 4 from 1) ==30004== ==30004== 1 errors in context 1 of 2: ==30004== Conditional jump or move depends on uninitialised value(s) ==30004== at 0x404167: libXML::CParser::parse() (in /home/kubinski/max/22/ala) ==30004== by 0x404262: libXML::CParser::parse(std::string&) (in /home/kubinski/max/22/ala) ==30004== by 0x4017E3: main (in /home/kubinski/max/22/ala) ==30004== ==30004== 1 errors in context 2 of 2: ==30004== Conditional jump or move depends on uninitialised value(s) ==30004== at 0x373949B2BD: (within /usr/lib64/libstdc++.so.6.0.8) --30004-- --30004-- supp: 4 Fedora-Core-6-hack3-ld25 ==30004== ==30004== IN SUMMARY: 2 errors from 2 contexts (suppressed: 4 from 1) ==30004== ==30004== malloc/free: in use at exit: 0 bytes in 0 blocks. ==30004== malloc/free: 846,934 allocs, 846,934 frees, 25,055,370 bytes allocated. ==30004== ==30004== All heap blocks were freed -- no leaks are possible. --30004-- memcheck: sanity checks: 11546 cheap, 462 expensive --30004-- memcheck: auxmaps: 179 auxmap entries (11456k, 11M) in use --30004-- memcheck: auxmaps: 27975161 searches, 29272608 comparisons --30004-- memcheck: SMs: n_issued = 481 (7696k, 7M) --30004-- memcheck: SMs: n_deissued = 18 (288k, 0M) --30004-- memcheck: SMs: max_noaccess = 524287 (8388592k, 8191M) --30004-- memcheck: SMs: max_undefined = 9 (144k, 0M) --30004-- memcheck: SMs: max_defined = 249 (3984k, 3M) --30004-- memcheck: SMs: max_non_DSM = 481 (7696k, 7M) --30004-- memcheck: max sec V bit nodes: 0 (0k, 0M) --30004-- memcheck: set_sec_vbits8 calls: 0 (new: 0, updates: 0) --30004-- memcheck: max shadow mem size: 11840k, 11M --30004-- translate: fast SP updates identified: 3,741 ( 87.8%) --30004-- translate: generic_known SP updates identified: 307 ( 7.2%) --30004-- translate: generic_unknown SP updates identified: 209 ( 4.9%) --30004-- tt/tc: 117,211 tt lookups requiring 186,235 probes --30004-- tt/tc: 117,211 fast-cache updates, 5 flushes --30004-- transtab: new 3,358 (81,817 -> 1,555,815; ratio 190:10) [0 scs] --30004-- transtab: dumped 0 (0 -> ??) --30004-- transtab: discarded 12 (257 -> ??) --30004-- scheduler: 1,154,615,962 jumps (bb entries). --30004-- scheduler: 11,546/1,819,427 major/minor sched events. --30004-- sanity: 11547 cheap, 462 expensive checks. --30004-- exectx: 30,011 lists, 170 contexts (avg 0 per list) --30004-- exectx: 1,693,874 searches, 21,706,760 full compares (12,814 per 1000) --30004-- exectx: 0 cmp2, 15 cmp4, 0 cmpAll proc status without the valgrind after the XML creation Name: ala State: S (sleeping) Tgid: 889 Pid: 889 PPid: 27692 TracerPid: 0 Uid: 61368538 61368538 61368538 61368538 Gid: 300 300 300 300 FDSize: 256 Groups: 300 2051 VmPeak: 21724 kB VmSize: 21724 kB VmLck: 0 kB VmHWM: 11048 kB VmRSS: 11048 kB VmData: 9700 kB VmStk: 136 kB VmExe: 688 kB VmLib: 2936 kB VmPTE: 76 kB VmSwap: 0 kB Threads: 1 SigQ: 0/1033564 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000000000 SigIgn: 0000000000000000 SigCgt: 0000000000000000 CapInh: 0000000000000000 CapPrm: 0000000000000000 CapEff: 0000000000000000 CapBnd: ffffffffffffffff Cpus_allowed: ffffffff Cpus_allowed_list: 0-31 voluntary_ctxt_switches: 13 nonvoluntary_ctxt_switches: 2 proc status without the valgrind after deleting the XML node: Name: ala State: S (sleeping) Tgid: 889 Pid: 889 PPid: 27692 TracerPid: 0 Uid: 61368538 61368538 61368538 61368538 Gid: 300 300 300 300 FDSize: 256 Groups: 300 2051 VmPeak: 21724 kB VmSize: 21724 kB VmLck: 0 kB VmHWM: 11184 kB VmRSS: 11184 kB VmData: 9700 kB VmStk: 136 kB VmExe: 688 kB VmLib: 2936 kB VmPTE: 76 kB VmSwap: 0 kB Threads: 1 SigQ: 0/1033564 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000000000 SigIgn: 0000000000000000 SigCgt: 0000000000000000 CapInh: 0000000000000000 CapPrm: 0000000000000000 CapEff: 0000000000000000 CapBnd: ffffffffffffffff Cpus_allowed: ffffffff Cpus_allowed_list: 0-31 voluntary_ctxt_switches: 14 nonvoluntary_ctxt_switches: 4 Br, Jakub ------------------------------------------------------------------------------ Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d _______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users