roybabayov@gmail.com has uploaded this change for review.

View Change

add enriched bt option based on libunwind

Currently, Ganesha generates BT in the following format:
#<line_number> <func_name> + 0x<func_offset> [ip=<hex_ip>] [sp=<hex_sp>]
The new method will generate an additional BT in the following format:
#<line_number> at code path <code file>:<code line> from binary <binary path>

The new method is not signal safe so it's behind the build
flag USE_UNWIND_ENRICHED_BT to allow opting in or out of it.

The commit also adds a monitor thread to check if the enriched
backtrace is stuck so we can abort and complete the process exit.

Change-Id: Iae63dc72ebcd83231dcded74c157377ba505880e
Signed-off-by: Roy Babayov <roybabayov@google.com>
---
M src/CMakeLists.txt
M src/include/config-h.in.cmake
M src/log/log_functions.c
M src/nfs-ganesha.spec-in.cmake
4 files changed, 231 insertions(+), 0 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/13/1208013/1

To view, visit change 1208013. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Iae63dc72ebcd83231dcded74c157377ba505880e
Gerrit-Change-Number: 1208013
Gerrit-PatchSet: 1
Gerrit-Owner: roybabayov@gmail.com