Bug 499305
Summary: | Memory leak in libc when nsswitch.conf is in compat mode | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 4 | Reporter: | Lachlan McIlroy <lmcilroy> |
Component: | glibc | Assignee: | Andreas Schwab <schwab> |
Status: | CLOSED NOTABUG | QA Contact: | BaseOS QE <qe-baseos-auto> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 4.5 | CC: | drepper, fweimer, jakub, james.leddy, tao, vgaikwad |
Target Milestone: | rc | ||
Target Release: | 4.8 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2009-07-27 14:40:39 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
Lachlan McIlroy
2009-05-06 03:47:38 UTC
That doesn't seem to be a real leak. Normally libnss_* modules are dlopened the first time they are needed and afterwards kept around until exit time, and libnss_compat.so.2 allocates some memory and references it from its global variables. When valgrind/mtrace or some other allocation checker reaches program exit, it runs __libc_freeres to free some memory still referenced at exit time (normally that isn't needed, as exit terminates the process and so there is no point to free anything), and among other things this attempts to dlclose libnss* modules that aren't normally ever dlclosed. As libnss_compat.so.2 doesn't contain a destructor that would free the memory at its dlclose time, valgrind/mtrace report this as memory leak, but that is something that will never actually happen when not under valgrind/mtrace. Thanks for the explanation Jakub This event sent from IssueTracker by jleddy issue 292155 |