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
