kern/72979: unkillable process(es) stuck in `STOP' state
David Xu
davidxu at freebsd.org
Tue Jan 2 01:20:23 PST 2007
The following reply was made to PR kern/72979; it has been noted by GNATS.
From: David Xu <davidxu at freebsd.org>
To: "Andrew Pantyukhin" <infofarmer at freebsd.org>
Cc: bug-followup at freebsd.org,
"Mikhail Teterin" <mi at freebsd.org>
Subject: Re: kern/72979: unkillable process(es) stuck in `STOP' state
Date: Tue, 2 Jan 2007 17:17:10 +0800
On Tuesday 02 January 2007 14:26, Andrew Pantyukhin wrote:
> >
> > Do you know the python process is multi-threaded or not ?
>
> It is. Actually, before rebooting back then I tried to
> kill another process (the audacious music player), which
> ended up in the very same state, so I believe it was a
> temporary system-wide condition, though all other processes
> ended successfully.
Can you try following patch ?
Index: kern_exit.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/kern_exit.c,v
retrieving revision 1.294
diff -u -r1.294 kern_exit.c
--- kern_exit.c 25 Oct 2006 06:18:04 -0000 1.294
+++ kern_exit.c 2 Jan 2007 09:15:10 -0000
@@ -413,8 +413,12 @@
*/
sx_xlock(&proctree_lock);
q = LIST_FIRST(&p->p_children);
- if (q != NULL) /* only need this if any child is S_ZOMB */
+ if (q != NULL) { /* only need this if any child is S_ZOMB */
+ PROC_LOCK(initproc);
+ initproc->p_flag |= P_STATCHILD;
wakeup(initproc);
+ PROC_UNLOCK(initproc);
+ }
for (; q != NULL; q = nq) {
nq = LIST_NEXT(q, p_sibling);
PROC_LOCK(q);
More information about the freebsd-bugs
mailing list