1 Dec 2004 03:42
[RFA/alpha] Fetch register from the right frame
Joel Brobecker <brobecker <at> adacore.com>
2004-12-01 02:42:20 GMT
2004-12-01 02:42:20 GMT
Hello,
Trying to switch to gdb-6.3 on alpha-tru64, we noticed the following
problem:
(gdb) bt
#0 0x000003ff8057d43c in __hstTransferRegistersPC ()
from /usr/shlib/libpthread.so
#1 0x000003ff8056e8e4 in __osTransferContext ()
from /usr/shlib/libpthread.so
#2 0x000003ff80560c30 in __dspDispatch () from /usr/shlib/libpthread.so
#3 0x000003ff80560178 in __cvWaitPrim () from /usr/shlib/libpthread.so
#4 0x000003ff8055da9c in __pthread_cond_wait ()
from /usr/shlib/libpthread.so
#5 0x000000012002cf50 in system.tasking.rendezvous.wait_for_call ()
at s-tasren.adb:6
#6 0x00000001200296ec in system.tasking.rendezvous.accept_trivial ()
at s-tasren.adb:6
#7 0x000000012001e204 in task_switch.callee (<_task>=Cannot access memory at address 0x28
) at task_switch.adb:29
warning: Previous frame inner to this frame (corrupt stack?)
The two symptoms of the same problem are:
. "<_task>=Cannot access memory at address 0x28" at frame #7
. warning: Previous frame inner to this frame (corrupt stack?)
The callstack is missing the following two frames:
#8 0x0000000120027cfc in system.tasking.stages.task_wrapper ()
(Continue reading)
.
> Can you come up with a test case for gdb.ada that shows the problem,
> and is cured by this patch?
Yes, I think so. I will commit a testcase and then commit this change.
Thanks for your review.
RSS Feed