Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jan 2007 22:57:52 +0100
From:      Divacky Roman <xdivac02@stud.fit.vutbr.cz>
To:        freebsd-emulation@freebsd.org
Subject:   [PATCH] linux 2.6.16 causes zombie processes with linux-opera
Message-ID:  <20070130215752.GA86572@stud.fit.vutbr.cz>
In-Reply-To: <20070128233230.GA4347@mail.scottro.net>
References:  <20070128233230.GA4347@mail.scottro.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jan 28, 2007 at 06:32:30PM -0500, Scott Robbins wrote:
> As near as I can determine, this only happens if I set the sysctl
> compat.linux.osrelease to 2.6.16.  
> 
> This is on a system running CURRENT
> 
> (7.0-CURRENT FreeBSD 7.0-CURRENT #0: Thu Jan 25 20:30:57 EST 2007)
> 
> When I close linux opera, a zombied process remains.  The parent PID is
> 1.  
> 
> Each time I open and then close opera, one and sometimes two, zombied
> processes remain.  
> 
> Therefore, if I've been browsing the web on and off for awhile, and do a
> pgrep opera, I might have a list of 20 or more PIDs, all zombies.

please.. can you try this patch:
--- /tmp/tmp.970.0      Tue Jan 30 22:56:18 2007
+++ /root/projects/linuxolator/src/sys/compat/linux/linux_emul.c        Tue Jan 30 22:56:15 2007
@@ -165,6 +165,16 @@

        KASSERT(em != NULL, ("proc_exit: emuldata not found.\n"));

+       /* reparent all non thread leaders to initproc */
+       if (em->shared->group_pid != p->p_pid) {
+               sx_xlock(&proctree_lock);
+               wakeup(initproc);
+               PROC_LOCK(p);
+               proc_reparent(p, initproc);
+               PROC_UNLOCK(p);
+               sx_xunlock(&proctree_lock);
+       }
+
        child_clear_tid = em->child_clear_tid;

        EMUL_UNLOCK(&emul_lock);


ignore the LOR for now and tell me if there's any difference with the opera behaviour. I
cant test now myself ;(

roman



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070130215752.GA86572>