[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libunwind-devel] [PATCH] Re: dl_iterate_phdr deadlock in unw_step
From: |
Paul Pluzhnikov |
Subject: |
Re: [Libunwind-devel] [PATCH] Re: dl_iterate_phdr deadlock in unw_step |
Date: |
Wed, 24 Feb 2016 08:47:01 -0800 |
On Wed, Feb 24, 2016 at 6:56 AM, Jared Cantwell
<address@hidden> wrote:
> Thank you for the patch.
>
> Since we are ok with simply not getting the stack trace in some cases, we
> decided to implement our own trampoline version of dl_iterate_phdr that
> simply records in a thread-local variable that it is being invoked and then
> forwards onto the real implementation. Then, in the signal handler, we
> check the thread-local variable and don't call into libunwind if
> dl_iterate_phdr is currently being called on the thread we're running on.
Just FYI,
The thread-local variables may also call malloc [1], and Google's
patches to make them async-safe [2] have been rejected by GLIBC [3].
[1] https://sourceware.org/bugzilla/show_bug.cgi?id=16133
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=16133#c1
[3] https://sourceware.org/bugzilla/show_bug.cgi?id=16133#c3
--
Paul Pluzhnikov