asterisk/utils
George Joseph ece5f8015f 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
2018-11-19 05:49:39 -07:00
..
db1-ast Fix GCC 8 build issues. 2018-05-11 09:48:58 -04:00
.gitignore core: Stop using AST_INLINE_API for allocator functions. 2018-03-17 01:06:33 -04:00
Makefile Merge "Build System: Improve ccache matching for different menuselect options." 2018-08-14 13:41:32 -05:00
ael_main.c backtrace: Refactor ast_bt_get_symbols so it doesn't crash 2018-11-19 05:49:39 -07:00
astcanary.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
astdb2bdb.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
astdb2sqlite3.c Fix 'statement' typo throughout code. 2018-10-18 12:44:10 -05:00
astman.1 Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
astman.c Fix GCC 8 build issues. 2018-05-11 09:48:58 -04:00
check_expr.c backtrace: Refactor ast_bt_get_symbols so it doesn't crash 2018-11-19 05:49:39 -07:00
clicompat.c CLI: Enable automatic references to modules. 2015-05-04 20:47:18 -04:00
conf2ael.c backtrace: Refactor ast_bt_get_symbols so it doesn't crash 2018-11-19 05:49:39 -07:00
conf_bridge_binaural_hrir_importer.c Binaural synthesis (confbridge): Adds binaural synthesis to bridge_softmix. 2017-02-23 10:34:58 -07:00
conf_bridge_binaural_hrir_importer.h Binaural synthesis (confbridge): Adds binaural synthesis to bridge_softmix. 2017-02-23 10:34:58 -07:00
expr2.testinput Merged revisions 179807 via svnmerge from 2009-03-03 22:12:02 +00:00
extconf.c lock: Replace __ast_mutex_logger with private log_mutex_error. 2018-10-19 12:34:08 -04:00
frame.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
frame.h utils: Remove trailing whitespace 2015-05-03 05:28:07 -04:00
muted.c module: Remove deprecated modules and update support levels. 2018-07-18 18:15:53 +00:00
smsq.c smsq: Remove an left-over special case for Solaris. 2018-06-21 18:22:26 +02:00
stereorize.c Remove as much trailing whitespace as possible. 2017-12-22 09:23:22 -05:00
streamplayer.c BuildSystem: Add DragonFly BSD. 2018-04-20 12:50:03 +02:00
utils.xml module: Remove deprecated modules and update support levels. 2018-07-18 18:15:53 +00:00