Unkillable KSE threaded proc

Andrew Gallatin gallatin at cs.duke.edu
Thu Sep 9 12:37:59 PDT 2004


Julian Elischer writes:
 > thanks,
 > I'm flooded with work for a couple of days..

Me too.. Sorry for the terribly latency in giving you more info.

 > it looks as if one ofthe threads (0xc1b614b0) has called exit, 
 > whichmeans it is in thread_single()
 > waiting for all the other threads to suicide, but at least one of them 
 > doen't want to..
 > 
 > Two of them (0xc1b61320 and 0xc2b6ce10) are refusing to finish up and exit
 > because they need the proc lock, which is owned by a fourth one.. 
 > (0xc1b617d0)
 > 
 > the fourth one has just preempted itself with some other thread 
 > (3244003328  whatever that is in
 > hex (0xC15B9000))  do you still have the 'ps'?
 > what is thread (0xC15B9000)?
 > 

No, but I've got the dump.  It looks like it was preempted by
the fxp ethernet driver's ithread:

(kgdb) p ((struct thread*)0xC15B9000)->td_proc->p_comm
$7 = "irq31: fxp0\0\0\0\0\0\0\0\0"

Maybe this would be easier to debug if I disabled preemption?

% cat opt_sched.h 
#define PREEMPTION 1
#define SCHED_4BSD 1


Drew


More information about the freebsd-threads mailing list