On 09-Jan-01 Robert Lipe wrote:
> John Baldwin wrote:
>>
>> On 08-Jan-01 Robert Lipe wrote:
>
>> > I'm having problems with kthread_exit(). The problem is that the thread
>> > goes zombie after I kthread_exit in it, but it never gets reaped. Since
>> > I'm doing this during a MOD_UNLOAD phase, if I happen to do a `ps -ax'
>> > after the module has been unmapped, a panic results becuase it's trying
>> > to get the lwp name and wchan string from what is now unmapped memory.
>>
>> kthreads are children of the swapper (pid 0), which doesn't harvest zombies.
>
> Bummer. I can get past the zombies as they're merely unsightly. Panics
> are a drag. :-)
Unloading modules adds all sorts of new problems. Right now the WITNESS code
will do bad bad things if you kldunload a module that contains a mutex. Even
if the mutex is mtx_destroy'd because it still has a reference to its name in
the internal lists it keeps.
>> Hmm, a fix was committed to kthread_exit() in -current in rev 1.8 of
>> sys/kern/kern_kthread.c. Actually, if you could test out both rev 1.8 and
>> 1.9
>> that would be good, as both need to be backported to -stable.
>
> Only 1.8 seems to be be pertinent to 4.1.1. I've stitched in the call
> to proc_reparent() and life seems pretty good. `ps' no longer panics
> and the lwp does indeed disappear from the ps listing instead of merely
> going zombie. This doesn't quite seem to jive with what you described
> above, though.
By reparenting to init, the zombie is harvested isntead of lying around. Now I
just need to MFC this.
> Thanx!
> RJL
--
John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message