On Thu, May 17, 2007 at 08:16:55AM -0600, David Mosberger-Tang wrote:
> On 5/17/07, Keith Owens <[EMAIL PROTECTED]> wrote:
>
> >David Mosberger
> >reckons that unwind should never cause an error, maybe we should be
> >looking at adding more checks to the unwind code to cope with spurious
> >addresses?
>
> That's correct. If the unwinder causes MCAs, it's broken. Robin, can
> you look into why the memory-access safety-checks in the unwinder
> aren't sufficient to avoid the MCAs you're seeing?
I don't think it got very far at all.
The task in question is calling get_wchan on itself. It is at
>> px *(task_struct *)0xe003819a00000000 | grep ksp
ksp = 0xe003819a00007900
>> px 0xe003819a00007900 + 16
0xe003819a00007910
>> px *(switch_stack *)0xe003819a00007910 | grep bsp
ar_bspstore = 0xe003819a00000000
Here we start to run into difficulties. ar_bspstore is the same address
as our task_struct. info->regstk.top == 0xe003819a00000000 which leads
to unw_init_frame_info calculating info->bsp == 0xe0038199ffffff30
which is near the addresses causing problems (0xe0038199ffffff80 and
0xe0038199ffffffe0). Notice it is in the page before our task_struct.
Well, time for bed.
Thanks,
Robin
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html