On Tue, Jan 12, 2016 at 10:40 AM, Howard Chu <[email protected]> wrote:
> Howard Chu wrote:
>>
>> Using libunwind 1.1 on SLES with my own malloc tracer, I get a deadlock in
>> various places, e.g.:
>
>
> The same thing happens with gperftools heap checker.
>

The deadlock I know about happens because dl_iterate_phdr(), something
libunwind calls to locate unwind information is not async signal safe
because it calls malloc.

To make libunwind usable in a malloc tracer, people generally
implement their own dl_iterate_phdr() that doesn't call malloc.
libunwind-1.1 is old and I've not been able to devote enough time to
libunwind to make a new release.

You may be able to avoid this particular lock by choosing UNW_CACHE_PER_THREAD.

 -Arun

_______________________________________________
Libunwind-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to