On Fri, 2 Aug 2002 10:08:47 -0700 (PDT)
Julian Elischer <[EMAIL PROTECTED]> wrote:

> there are several possibilities:
> 1/ do a ktrace on teh spinning process for a couple of seconds and see
> what syscalls it is doing.

stopped jikes with ctrl-c looks always like: 

 90998 sh       RET   read 650/0x28a
 90998 sh       CALL  fork
 90998 sh       RET   fork 91009/0x16381
 90998 sh       CALL  getpgrp
 90998 sh       RET   getpgrp 90998/0x16376
 90998 sh       CALL  wait4(0xffffffff,0xbfbff498,0x2,0)
 90998 sh       RET   wait4 -1 errno 4 Interrupted system call
 90998 sh       PSIG  SIGINT caught handler=0x80595b0 mask=0x0 code=0x0
 90998 sh       CALL  sigreturn(0xbfbff2b8)
 90998 sh       RET   sigreturn JUSTRETURN
 90998 sh       CALL  wait4(0xffffffff,0xbfbff498,0x2,0)
 90998 sh       RET   wait4 91009/0x16381
 90998 sh       CALL  read(0xa,0x80f6e80,0x3ff)
 90998 sh       GIO   fd 10 read 0 bytes
 90998 sh       RET   read 0
 90998 sh       CALL  exit(0x82)

> 2/ if it's spinning in the kernel, you can drop into ddb
> and do a 
> tr <pid> 
> to see where it is in the kernel...
> c to continue..
I always get these two:

Debugger("manual escape to debugger")
Stopped at      Debugger+0x4d:  xchgl   %ebx,in_Debugger.0
db> tr 3402
mi_switch(c30f36c0,c01f23e8,c30f5cc0,f13c8d3c,c0237b5e) at mi_switch+0x15a
ithread_schedule(c30dd500,1,f13c8d3c,c79309c0,0) at ithread_schedule+0x11f
sched_ithd(5) at sched_ithd+0x43
Xintr5() at Xintr5+0x67
--- interrupt, eip = 0x80decb0, esp = 0xbfbfe4e0, ebp = 0xbfbfe548 ---
db> c

mi_switch(c30e3d40,0,5,0,800) at mi_switch+0x15a
ast(f16ddd48) at ast+0x35a
doreti_ast() at doreti_ast+0x1a

> do this several times to ge a sortof 'profile' of where you see it..
Done that.

Hope this helps. Please let me know if I could do more to find
this problem.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to