Skip site navigation (1)Skip section navigation (2)
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>