[PATCH] linux 2.6.16 causes zombie processes with linux-opera

Divacky Roman xdivac02 at stud.fit.vutbr.cz
Tue Jan 30 21:57:55 UTC 2007


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


More information about the freebsd-emulation mailing list