libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libunwind] Circular links in the script/rs cache?


From: Arun Sharma
Subject: Re: [libunwind] Circular links in the script/rs cache?
Date: Fri, 31 Mar 2006 13:26:44 -0800
User-agent: Mozilla Thunderbird 1.0.7 (X11/20051011)

David Mosberger-Tang wrote:


Good.  I just took a look at it and couldn'd find anything wrong with
the script cache.

Thanks!

I'm also running into a number of cases where unwinding doesn't work well (usually skipping over signal frames) or the ip being off by one issue. Gdb also is not able to unwind correctly in those cases. However, gdb doesn't crash, but libunwind generates a SIGSEGV when it dereferences bad pointers.

While the real fix is to fix the root cause, I think we also need some checks in libunwind to work around such bugs i.e we need a light weight way of checking if the pointer being dereferenced is bad.

I was thinking of:

+      /* validate address */
+      if (msync(PAGE_START(addr), 1, MS_SYNC) == -1)
+        return -1;

It's not pretty and it's not fool proof, but it might work well in practice.

Thoughts?

        -Arun

reply via email to

[Prev in Thread] Current Thread [Next in Thread]