From owner-freebsd-current@FreeBSD.ORG Sun Mar 28 14:54:08 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7C25116A4CF; Sun, 28 Mar 2004 14:54:08 -0800 (PST) Received: from pooker.samsco.home (65-101-231-193.dnvr.qwest.net [65.101.231.193]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0B38543D39; Sun, 28 Mar 2004 14:54:08 -0800 (PST) (envelope-from scottl@freebsd.org) Received: from freebsd.org (junior-wifi.samsco.home [192.168.0.11]) by pooker.samsco.home (8.12.10/8.12.10) with ESMTP id i2SMt60v013165; Sun, 28 Mar 2004 15:55:07 -0700 (MST) (envelope-from scottl@freebsd.org) Message-ID: <40675694.3080609@freebsd.org> Date: Sun, 28 Mar 2004 15:49:56 -0700 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.6) Gecko/20040304 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Dan Nelson References: <20040328211018.GN3446@dan.emsphone.com> <20040328222031.GA19463@dan.emsphone.com> In-Reply-To: <20040328222031.GA19463@dan.emsphone.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=0.0 required=3.8 tests=none autolearn=no version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on pooker.samsco.home cc: freebsd-current@freebsd.org Subject: Re: panic: mutex Giant owned at ../../../kern/kern_thread.c:1341 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Mar 2004 22:54:08 -0000 Dan Nelson wrote: > In the last episode (Mar 28), Dan Nelson said: > >>Got this running an ibcs2_coff binary on today's kernel: >> >>(kgdb) where >>#6 0xc7c1dd5b in ibcs2_wait (td=0xc7ef5540, uap=0x0) >> at /usr/src/sys/i386/ibcs2/ibcs2_misc.c:164 > > > I think this is due to ibcs2_wait being left out when wait4() was > converted to giant-free (giant-allergic actually). The following seems > to fix it: > > Index: syscalls.master > =================================================================== > RCS file: /mnt/emssrv5/home/ncvs/src/sys/i386/ibcs2/syscalls.master,v > retrieving revision 1.17 > diff -u -r1.17 syscalls.master > --- syscalls.master 6 Feb 2004 20:20:07 -0000 1.17 > +++ syscalls.master 28 Mar 2004 22:00:40 -0000 > @@ -37,7 +37,7 @@ > 4 MNOPROTO { int write(int fd, char *buf, u_int nbytes); } > 5 STD { int ibcs2_open(char *path, int flags, int mode); } > 6 MNOPROTO { int close(int fd); } > -7 STD { int ibcs2_wait(int a1, int a2, int a3); } > +7 MSTD { int ibcs2_wait(int a1, int a2, int a3); } > 8 STD { int ibcs2_creat(char *path, int mode); } > 9 NOPROTO { int link(char *path, char *link); } > 10 STD { int ibcs2_unlink(char *path); } > > I agree that this is appropriate. However, ibcs2_wait() might need to have some proc locks sprinkled into it. It would be good to have someone like John Baldwin comment on it. Scott