From owner-freebsd-current Tue Jul 2 22:44: 0 2002 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 B58D137B401 for ; Tue, 2 Jul 2002 22:43:56 -0700 (PDT) Received: from mail.viasoft.com.cn (ip-167-164-97-218.anlai.com [218.97.164.167]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5090F43E4A for ; Tue, 2 Jul 2002 22:43:52 -0700 (PDT) (envelope-from davidx@viasoft.com.cn) Received: from davidwnt (davidwnt.viasoft.com.cn [192.168.1.239]) by mail.viasoft.com.cn (8.9.3/8.9.3) with SMTP id NAA20510; Wed, 3 Jul 2002 13:59:28 +0800 Message-ID: <00c301c22253$55f7fa60$ef01a8c0@davidwnt> From: "David Xu" To: "Matthew Dillon" Cc: References: <200207030536.g635aHQs010168@apollo.backplane.com> Subject: Re: KSE signal problems still Date: Wed, 3 Jul 2002 13:34:42 +0800 MIME-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Andrew Gallatin fixed the problem in kern_sig.c, check it out: gallatin 2002/07/02 19:55:48 PDT Modified files: sys/kern kern_sig.c=20 Log: Hold the sched lock across call to forward_signal() in tdsignal() to keep SMP systems from panic'ing when ^C'ing an app =20 suggested by julian =20 Revision Changes Path 1.172 +4 -1 src/sys/kern/kern_sig.c ----- Original Message -----=20 From: "Matthew Dillon" To: "Julian Elischer" Cc: "Andrew Gallatin" ; = Sent: Wednesday, July 03, 2002 1:36 PM Subject: Re: KSE signal problems still > I can get a panic when ^C'ing buildworld on an SMP build of = -current: >=20 > -Matt >=20 > test3# j > test3# panic: mutex sched lock not owned at = /FreeBSD/FreeBSD-current/src/sys/kern/subr_smp.c:126 > cpuid =3D 1; lapic.id =3D 00000000 > Debugger("panic") > Stopped at Debugger+0x46: xchgl %ebx,in_Debugger.0 > db> trace > Debugger(c02ec4ba) at Debugger+0x46 > panic(c02eb5e8,c02eb758,c02efe80,7e,c6a5a9c0) at panic+0xd6 > _mtx_assert(c0325a20,1,c02efe80,7e) at _mtx_assert+0xa8 > forward_signal(c6a5a9c0) at forward_signal+0x1a > tdsignal(c6a5a9c0,2,0) at tdsignal+0x182 > psignal(c665f804,2) at psignal+0x3c8 > pgsignal(c6bbe480,2,1,c6bbe49c,0) at pgsignal+0x63 > ttyinput(3,c6413230,c6413200,0,e0e71b03) at ttyinput+0x316 > ptcwrite(c6648600,e0e71c88,7f0011,1,e0e71bc4) at ptcwrite+0x17f > spec_write(e0e71bf0,e0e71c3c,c020f0a0,e0e71bf0,7f0011) at = spec_write+0x5a > spec_vnoperate(e0e71bf0) at spec_vnoperate+0x13 > vn_write(c645aec4,e0e71c88,c6641380,0,c622b3c0) at vn_write+0x1c8 > dofilewrite(c622b3c0,c645aec4,7,807f000,1) at dofilewrite+0xaf > write(c622b3c0,e0e71d14,3,9,282) at write+0x39 > syscall(2f,2f,2f,8074600,8074644) at syscall+0x23c > syscall_with_err_pushed() at syscall_with_err_pushed+0x1b > --- syscall (4, FreeBSD ELF, write), eip =3D 0x281fc3a3, esp =3D = 0xbfbff36c, ebp =3D 0xbfbff3d8 --- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message