Date: Wed, 3 Jul 2002 13:34:42 +0800 From: "David Xu" <davidx@viasoft.com.cn> To: "Matthew Dillon" <dillon@apollo.backplane.com> Cc: <freebsd-current@FreeBSD.ORG> Subject: Re: KSE signal problems still Message-ID: <00c301c22253$55f7fa60$ef01a8c0@davidwnt> References: <Pine.BSF.4.21.0207021931190.97650-100000@InterJet.elischer.org> <200207030536.g635aHQs010168@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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" <dillon@apollo.backplane.com> To: "Julian Elischer" <julian@elischer.org> Cc: "Andrew Gallatin" <gallatin@cs.duke.edu>; = <freebsd-current@FreeBSD.ORG> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?00c301c22253$55f7fa60$ef01a8c0>