Bug 1207032

Summary: glibc deadlock when printing backtrace from memory allocator
Product: Red Hat Enterprise Linux 7 Reporter: Siddhesh Poyarekar <spoyarek>
Component: glibcAssignee: Carlos O'Donell <codonell>
Status: CLOSED ERRATA QA Contact: Arjun Shankar <ashankar>
Severity: urgent Docs Contact:
Priority: high    
Version: 7.1CC: abelur, arjun.is, ashankar, codonell, extras-qa, fweimer, jakub, joallen, law, mcermak, mnewsome, pfrankli, qe-baseos-tools-bugs
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: glibc-2.17-89.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1207031 Environment:
Last Closed: 2015-11-19 04:17:13 UTC Type: Bug
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: 1207031    
Bug Blocks:    

Description Siddhesh Poyarekar 2015-03-30 06:02:14 UTC
+++ This bug was initially created as a clone of Bug #1207031 +++

+++ This bug was initially created as a clone of Bug #1066724 +++

Track inclusion of fix for:

https://sourceware.org/bugzilla/show_bug.cgi?id=16159

When the malloc subsystem detects some kind of memory corruption,
depending on the configuration it prints the error, a backtrace, a
memory map and then aborts the process.  In this process, the
backtrace() call may result in a call to malloc, resulting in
various kinds of problematic behavior.

In one case, the malloc it calls may detect a corruption and call
backtrace again, and a stack overflow may result due to the infinite
recursion.  In another case, the malloc it calls may deadlock on an
arena lock with the malloc (or free, realloc, etc.) that detected the
corruption.  In yet another case, if the program is linked with
pthreads, backtrace may do a pthread_once initialization, which
deadlocks on itself.

Comment 12 errata-xmlrpc 2015-11-19 04:17:13 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2015-2199.html