[Top][All Lists]
[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