From owner-freebsd-bugs@FreeBSD.ORG Thu Oct 25 05:40:03 2007 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E9EC16A421 for ; Thu, 25 Oct 2007 05:40:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 099C113C491 for ; Thu, 25 Oct 2007 05:40:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.1/8.14.1) with ESMTP id l9P5e2Gq012046 for ; Thu, 25 Oct 2007 05:40:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.1/8.14.1/Submit) id l9P5e2AZ012045; Thu, 25 Oct 2007 05:40:02 GMT (envelope-from gnats) Date: Thu, 25 Oct 2007 05:40:02 GMT Message-Id: <200710250540.l9P5e2AZ012045@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: zhouyi zhou Cc: Subject: Re: kern/111260: FreeBSD kernel dead lock and a solution X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: zhouyi zhou List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Oct 2007 05:40:03 -0000 The following reply was made to PR kern/111260; it has been noted by GNATS. From: zhouyi zhou To: kris@obsecurity.org,linimon@freebsd.org Cc: freebsd-gnats-submit@FreeBSD.org Subject: Re: kern/111260: FreeBSD kernel dead lock and a solution Date: Thu, 25 Oct 2007 13:35:52 +0800 by usinggdb, I find the slow_copyout in lock1.jpg is caused by do_execve's call to if (p->p_sysent->sv_copyout_strings) stack_base = (*p->p_sysent->sv_copyout_strings)(imgp); else stack_base = exec_copyout_strings(imgp); the slow_copyout in lock2.jpg is caused by exec_elf32_imgact's call to if ((error = __elfN(load_section)(imgp->proc, vmspace, imgp->vp, imgp->object, phdr[i].p_offset, (caddr_t)((uintptr_t)phdr[i].p_vaddr + base_addr), phdr[i].p_memsz, phdr[i].p_filesz, prot, sv->sv_pagesize)) != 0) goto fail; Sinerely Zhouyi On Thu, 25 Oct 2007 10:29:22 +0800 zhouyi zhou wrote: > Hi Kris, > It appears again, see the photo I take, if you want more, I can paste more :-) > thanks > > http://wiki.freebsd.org/ZhouyiZHOU?action=AttachFile&do=get&target=lock1.jpg > http://wiki.freebsd.org/ZhouyiZHOU?action=AttachFile&do=get&target=lock2.jpg > http://wiki.freebsd.org/ZhouyiZHOU?action=AttachFile&do=get&target=lock3.jpg > > Best Regards > Zhouyi Zhou