[Asterisk-code-review] backtrace: Refactor ast bt get symbols so it doesn't crash (asterisk[master])

George Joseph asteriskteam at digium.com
Mon Nov 19 06:49:42 CST 2018


Hello Richard Mudgett, Jenkins2, Corey Farrell, Joshua Colp, 

I'd like you to reexamine a change. Please visit

    https://gerrit.asterisk.org/10607

to look at the new patch set (#8).

Change subject: backtrace:  Refactor ast_bt_get_symbols so it doesn't crash
......................................................................

backtrace:  Refactor ast_bt_get_symbols so it doesn't crash

We've been seeing crashes in libbfd when we attempt to generate
a stack trace from multiple threads.  It turns out that libbfd
is NOT thread-safe.  It can cache the bfd structure and give it to
multiple threads without protecting itself.  To get around this,
we've added a global mutex around the bfd functions and also have
refactored the use of those functions to be more efficient and
to provide more information about inlined functions.

Also added a few more tests to test_pbx.c.  One just calls
ast_assert() and the other calls ast_log_backtrace().  Neither are
run by default.

WARNING:  This change necessitated changing the return value of
ast_bt_get_symbols() from an array of strings to a VECTOR of
strings.  However, the use of this function outside Asterisk is not
likely.

ASTERISK-28140

Change-Id: I79d02862ddaa2423a0809caa4b3b85c128131621
---
M CHANGES
M include/asterisk/backtrace.h
M main/astmm.c
M main/backtrace.c
M main/logger.c
M main/utils.c
M tests/test_pbx.c
M utils/ael_main.c
M utils/check_expr.c
M utils/conf2ael.c
10 files changed, 318 insertions(+), 183 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/07/10607/8
-- 
To view, visit https://gerrit.asterisk.org/10607
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I79d02862ddaa2423a0809caa4b3b85c128131621
Gerrit-Change-Number: 10607
Gerrit-PatchSet: 8
Gerrit-Owner: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Corey Farrell <git at cfware.com>
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Jenkins2 (1000185)
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Richard Mudgett <rmudgett at digium.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20181119/b3201e97/attachment.html>


More information about the asterisk-code-review mailing list