tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: How to identify specific wait-state for a "DE" process?



Stephan writes:
> > # crash
> > Crash version 7.99.25, image version 7.99.25.
> > Output from a running system is unreliable.
> > crash> trace/t 0t455
> > trace: pid 455 lid 1 at 0xfffffe8002ff0ce0
> > sleepq_block() at sleepq_block+0xa2
> > cv_wait() at cv_wait+0x116
> > fd_close() at fd_close+0x39a
> > fd_free() at fd_free+0x178
> > exit1() at exit1+0x10a
> > sys_exit() at sys_exit+0x3a
> > syscall() at syscall+0x9c
> > --- syscall (number 1) ---
> >
> > So I guess I need to figure out which/what condvar it is waiting on...
> 
> It would be great if crash and ddb could print the parameters. Also
> most of the "show" commands do only work in ddb, but not in crash,
> unfortunately.

the arguments are printed if they're available.  it's just that
on amd64 (which i'm assuming Paul is using) doesn't give you
those since they're passed in registers and aren't stored or
kept anywhere.  i386 shows them.. (or at least, their current
value on their stack location):

crash> bt/t 1
trace: pid 1 lid 1 at 0xdc9ebe2c
sleepq_block(0,1,c0b9b25c,c0d6d2f0,0,c453ad40,0,ffffffff,c4c97d80,dc9ebec0) at sleepq_block+0x8f
cv_wait_sig(c4c97d98,c4520f00,c4d7ef00,c4d7ec30,dc9ebeb0,0,0,c4d7ec30,0,ffffffff) at cv_wait_sig+0x101
do_sys_wait(dc9ebedc,dc9ebed8,0,0,0,ffffffff,c4c97d80,2,dc9ebf00,40) at do_sys_wait+0x1c2
sys___wait450(c4d80d40,dc9ebf68,dc9ebf60,2,bbba3000,c0d6cdb4,dc9ebf68,1c1,0,0) at sys___wait450+0x37
syscall() at syscall+0x8a
--- syscall (number 449) ---
bba76937:


.mrg.


Home | Main Index | Thread Index | Old Index