Bug 169270
Summary: | valgrind complains about libstdc++ | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Darren Cook <darren> |
Component: | valgrind | Assignee: | Jakub Jelinek <jakub> |
Status: | CLOSED NOTABUG | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 4 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i386 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2005-09-26 16:34:59 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Darren Cook
2005-09-26 11:06:32 UTC
I don't think any library besides glibc (and other libraries included therein) include the special magic to free all used resources when asked to upon exit (by mtrace, valgrind etc.). Not freeing resources on exit is the correct thing to do, programs shouldn't bother too much with freeing resources on exit, so unless they are reported as definitely lost by valgrind, that's not a bug. But I don't want to record all exceptions for all shared libraries shipped in the distro, that really is not the way to go. So, you either should ignore those, or write exception file for yourself. I agree with your first paragraph, but disagree with your second: I think the whole point of a distro is packages configured to work together. In addition this is a major library that all C++ programs will be using. Anyway, for anyone who googles here with the same problem, here are the exceptions I added to the bottom of /usr/lib/valgrind/default.supp. They stop the warnings for me, but no guarantee that are not stopping too much: #2005-09-27: For g++4's stdlib string memory pool "leaks" # I deleted any fun: entries after the last obj: line to hopefully make # them more general. { libstdc6 string leak 1 Memcheck:Leak fun:_Znwj fun:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE obj:/usr/lib/libstdc++.so.6.0.5 obj:/usr/lib/libstdc++.so.6.0.5 fun:_ZNSs4_Rep9_S_createEjjRKSaIcE obj:/usr/lib/libstdc++.so.6.0.5 } { libstdc6 string leak 2 Memcheck:Leak fun:_Znwj fun:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE obj:/usr/lib/libstdc++.so.6.0.5 obj:/usr/lib/libstdc++.so.6.0.5 fun:_ZNSs4_Rep9_S_createEjjRKSaIcE obj:/usr/lib/libstdc++.so.6.0.5 } { libstdc6 string leak 3 Memcheck:Leak fun:_Znwj fun:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE obj:/usr/lib/libstdc++.so.6.0.5 obj:/usr/lib/libstdc++.so.6.0.5 fun:_ZNSs4_Rep9_S_createEjjRKSaIcE obj:/usr/lib/libstdc++.so.6.0.5 } { libstdc6 string leak 4 Memcheck:Leak fun:_Znwj fun:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj obj:/usr/lib/libstdc++.so.6.0.5 fun:_ZNSs4_Rep9_S_createEjjRKSaIcE obj:/usr/lib/libstdc++.so.6.0.5 } |