Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Mar 2004 16:20:31 -0600
From:      Dan Nelson <dnelson@allantgroup.com>
To:        freebsd-current@freebsd.org
Subject:   Re: panic: mutex Giant owned at ../../../kern/kern_thread.c:1341
Message-ID:  <20040328222031.GA19463@dan.emsphone.com>
In-Reply-To: <20040328211018.GN3446@dan.emsphone.com>
References:  <20040328211018.GN3446@dan.emsphone.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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); }


-- 
	Dan Nelson
	dnelson@allantgroup.com



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