Hi Piotr,
We walk the stack from the base (thr.t_stkbase) to the top thr.t_stk
one frame at a time (a frame is a frame pointer and a pc).
struct rwindow {
uintptr_t rw_fp;
uintptr_t rw_pc;
};
If we can't reach the top from base, we can't declare conclusively that
it's the correct stack.
Please see the following file for details:
usr/src/cmd/mdb/common/modules/genunix/findstack.c
Sherry
On Wed, Feb 04, 2009 at 08:26:01PM +0100, Piotr Jasiukajtis wrote:
> Hi,
>
> Why sometimes mdb cannot find a stack for threads?
> For example:
>
> Possible stack pointers for thread ffffff00a73d0900:
> ffffff0001bc5b20 (4)
> ffffff0001bc5cd0 (2)
> ffffff0001bc5e10 (6)
> ffffff0001bc5f70 (2)
> ffffff0001bc6060 (5)
> ffffff0001bc61b0 (2)
> ffffff0001bc6350 (2)
> ffffff0001bc6490 (2)
> ffffff0001bc6580 (5)
> ffffff0001bc65e0 (2)
>
>
> --
> Regards,
> Piotr Jasiukajtis | estibi | SCA OS0072
> http://estseg.blogspot.com
> _______________________________________________
> opensolaris-code mailing list
> [email protected]
> http://mail.opensolaris.org/mailman/listinfo/opensolaris-code
--
Sherry Moore, Solaris Core Kernel http://blogs.sun.com/sherrym
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code