On Mon, Jan 26, 2009 at 01:13:32PM -0800, Jonathan Adams wrote:
> On Sun, Jan 25, 2009 at 12:36:49PM -0800, Matt Stupple wrote:
> > [Also posted on tools-discuss, but no response at present.]
> > 
> > I'm looking at a pstack dump from a hanging process in a live
> > environment. The theory is that the process is stuck in a file I/O
> > call due to NFS issues, but the suspect thread (78) shows *no* call
> > stack in the pstack output (other threads are showing 'correct' call
> > stacks):
> > 
> > ----------------- lwp# 78 --------------------------------
> > ----------------- lwp# 79 --------------------------------
> 
> > Is this possibly due to the fact that the thread is stuck in the
> > kernel inside an I/O call? Is there any way to get more information
> > (run pstack as root?)
> 
> This indicates that the thread could not be stopped, so the userland
> state couldn't be retrieved.  This will also effect gcore.
> 
> There are two ways to get the kernel and userland stack traces:
> 
> 1) mdb
>       If you only need the kernel thread trace, you can do:
> 
>       0tpid::pid2proc | ::walk thread t | ::print kthread_t t_tid | \
>               ::grep '#(.-0ttid)' | ::map '<t' | ::findstack -v
>           ^^^ pid             ^^^ lwpid
> 2) dtrace
>       Something like:
> 
>       dtrace -n 'sched:::off-cpu/pid == pid && tid == tid/
                                          ^^^           ^^^
replace these with the decimal pid and tid, of course.
>           {stack(20); ustack(20); exit(0); }'
> 
>       Will give you both the kernel and user stack trace.  If your thread
>       is spinning in the kernel without ever going to sleep, you can do:
> 
>       dtrace -n 'profile:::profile-997,sched:::off-cpu
>               /pid == pid && tid == tid/ {stack(20); ustack(20); exit(0); }'
> 
> Cheers,
> - jonathan
> 
> 
> > I also have a gcore-generated core for the process which I've been
> > trying to debug - it gives the same output when I run pstack on the
> > core - but I've got some symbol mismatches between dev and prod at the
> > moment...
> > -- 
> > This message posted from opensolaris.org
> > _______________________________________________
> > observability-discuss mailing list
> > observability-discuss at opensolaris.org

Reply via email to