Bug 640286
Summary: | libc per thread allocator in RHEL6: excessive memory usage and leaks | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Török Edwin <edwin+bugs> | ||||
Component: | glibc | Assignee: | Andreas Schwab <schwab> | ||||
Status: | CLOSED NOTABUG | QA Contact: | qe-baseos-tools-bugs | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | low | ||||||
Version: | 6.0 | CC: | fweimer, ladar | ||||
Target Milestone: | rc | ||||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2010-12-01 13:25:57 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: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 598498, 640347 | ||||||
Attachments: |
|
Description
Török Edwin
2010-10-05 13:21:29 UTC
FWIW Fedora 13 is affected by this bug too, although it is not affected by the original bug (ClamAV's make check fails). So the libc in RHEL6 might have some more bugs, but we can test for that after these ones are fixed. Should I file a bug for Fedora too, or is there a way to mark a bug as affecting Fedora as well? (In reply to comment #2) > FWIW Fedora 13 is affected by this bug too, although it is not affected by the > original bug (ClamAV's make check fails). Actually it is affected, I've just run ClamAV's 'make check' on Fedora 13 and it failed. Guess the package doesn't run 'make check'? This is by design. Every thread gets its own heap. There is no leak. Each heap must be 64MB aligned, the address space is only reserved to guarantee alignment. No more than the actual heap size is ever touched in any way. Confirmed on RHEL 6 final+updates = glibc-2.12-1.7.el6_0.3.x86_64. After looking at the code, I agree with Török, it should not be using >400MB. Is the use of thread barriers causing the problem? In my cursory review of the mnanual I didn't see anything that indicated their use would affect the behavior of malloc. malloc failed: Cannot allocate memory Arena 0: malloc failed: Cannot allocate memory system bytes = 135168 in use bytes = 2304 Arena 1: system bytes = 1183744 in use bytes = 1050816 Arena 2: system bytes = 1183744 in use bytes = 1050816 Arena 3: system bytes = 1183744 in use bytes = 1050816 Arena 4: system bytes = 1183744 in use bytes = 1050816 Arena 5: system bytes = 1183744 in use bytes = 1050816 Arena 6: system bytes = 1183744 in use bytes = 1050816 Total (incl. mmap): system bytes = 7237632 in use bytes = 6307200 max mmap regions = 0 max mmap bytes = 0 Arena 0: system bytes = 135168 in use bytes = 2304 Arena 1: system bytes = 1183744 in use bytes = 1050816 Arena 2: system bytes = 1183744 in use bytes = 1050816 Arena 3: system bytes = 1183744 in use bytes = 1050816 Arena 4: system bytes = 1183744 in use bytes = 1050816 Arena 5: system bytes = 1183744 in use bytes = 1050816 Arena 6: system bytes = 1183744 in use bytes = 1050816 Total (incl. mmap): system bytes = 7237632 in use bytes = 6307200 max mmap regions = 0 max mmap bytes = 0 /proc/self/status at exit VmPeak: 481292 kB VmSize: 430080 kB VmLck: 0 kB VmHWM: 2776 kB VmRSS: 716 kB VmData: 424148 kB VmStk: 88 kB VmExe: 4 kB VmLib: 1704 kB VmPTE: 80 kB VmSwap: 0 kB If its not a leak, how would you go about releasing the memory? |