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