On Thu, Sep 8, 2016 at 9:07 AM, Jeff Darcy <[email protected]> wrote:
> In a few places in our code (e.g. gf_log_callingfn) we use the "backtrace" 
> and "backtrace_symbols" functions from libc to log stack traces.  
> Unfortunately, these functions don't seem very smart about dynamically loaded 
> libraries - such as translators, where most of our code lives.  They give us 
> the object plus offset from where the object was loaded into memory, which 
> isn't that easy to turn into a function name (let alone a file and line 
> number).  It seems like libunwind can do better, getting at least to the 
> function name.  AFAICT it's supported and packaged on all of our platforms, 
> though there might be version differences.  Newer versions can supposedly get 
> to file and line, which would be even better.  Before I get further into 
> this, two questions for all of you:
>
> (1) Has somebody already gone down this path?  Does it work?
>
> (2) Are there any other reasons we wouldn't want to switch?


Cannot think of any. The BSD platforms seem to have libunwind and Mac
OS X doesn't have it apparently [1].

I have been thinking of fixing the recent Mac OS X compilation
problems and can address issues related to libunwind as part of that
activity.

-Vijay

[1] http://comments.gmane.org/gmane.comp.lib.unwind.devel/2199
_______________________________________________
Gluster-devel mailing list
[email protected]
http://www.gluster.org/mailman/listinfo/gluster-devel

Reply via email to