From e13db61695d48c68adfbc45249ba1789a0c9ad9d Mon Sep 17 00:00:00 2001
From: Kinsey Moore <kmoore@digium.com>
Date: Mon, 27 Aug 2012 14:13:44 +0000
Subject: [PATCH] Implement workaround for BETTER_BACKTRACES crash

When compiling with BETTER_BACKTRACES enabled, Asterisk will sometimes
crash when "core show locks" is run. This happens regularly in the
testsuite since several tests run "core show locks" to help with
debugging. This seems to be a fault with libraries on certain operating
systems (notably CentOS 6.2/6.3) running on virtual machines and
utilizing gcc 4.4.6.

(closes issue ASTERISK-20090)
........

Merged revisions 371690 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 371691 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 371692 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 main/utils.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/main/utils.c b/main/utils.c
index 3f21eb341d..0ff33cba27 100644
--- a/main/utils.c
+++ b/main/utils.c
@@ -795,6 +795,8 @@ static void append_backtrace_information(struct ast_str **str, struct ast_bt *bt
 		return;
 	}
 
+	/* store frame count locally to avoid the memory corruption that
+	 * sometimes happens on virtualized CentOS 6.x systems */
 	num_frames = bt->num_frames;
 	if ((symbols = ast_bt_get_symbols(bt->addresses, num_frames))) {
 		int frame_iterator;
-- 
GitLab