Date: Thu, 7 Oct 1999 11:27:56 -0700 (PDT) From: Matthew Jacob <mjacob@feral.com> To: freebsd-current@freebsd.org Subject: i386 wierd one...... kernel stack frame pointer corruption(?) Message-ID: <Pine.BSF.4.10.9910071112290.59620-100000@beppo.feral.com>
next in thread | raw e-mail | index | archive | help
This just started happening over the last day... It's blowing up during probing because the frame pointer is getting nuked... this is a 2xPPro machine. The code in question is: static u_int64_t isp_get_portname(isp, loopid, nodename) struct ispsoftc *isp; int loopid; int nodename; { u_int64_t wwn = 0; mbreg_t mbs; mbs.param[0] = MBOX_GET_PORT_NAME; mbs.param[1] = loopid << 8; if (nodename) mbs.param[1] |= 1; isp_mboxcmd(isp, &mbs); Which generates: 000012f0 <isp_get_portname>: 12f0: 55 pushl %ebp 12f1: 89 e5 movl %esp,%ebp 12f3: 83 ec 10 subl $0x10,%esp 12f6: 56 pushl %esi 12f7: 53 pushl %ebx 12f8: bb 00 00 00 00 movl $0x0,%ebx 12fd: be 00 00 00 00 movl $0x0,%esi 1302: 66 c7 45 f0 6a movw $0x6a,0xfffffff0(%ebp) 1307: 00 1308: 8b 4d 0c movl 0xc(%ebp),%ecx 130b: 66 c1 e1 08 shlw $0x8,%cx 130f: 66 89 4d f2 movw %cx,0xfffffff2(%ebp) 1313: 83 7d 10 00 cmpl $0x0,0x10(%ebp) 1317: 74 04 je 131d <isp_get_portname+0x2d> 1319: 80 4d f2 01 orb $0x1,0xfffffff2(%ebp) 131d: 8d 45 f0 leal 0xfffffff0(%ebp),%eax 1320: 50 pushl %eax 1321: ff 75 08 pushl 0x8(%ebp) 1324: e8 b7 27 00 00 call 3ae0 <isp_mboxcmd> 1329: 66 81 7d f0 00 cmpw $0x4000,0xfffffff0(%ebp) <-- EBP is 0 132e: 40 There isn't anything in isp_mboxcmd that I can see would wipe the stack such that I can see in the C code or the generated output. This code itself hasn't changed in months. One thing that is possible is that it's a very deep callstack... It's during probing and it may have called completion on a completing command while down at the bottom of the stack starting another command. If you run out of kernel stack, don't you get some other kind of fault? -matt 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?Pine.BSF.4.10.9910071112290.59620-100000>