From owner-freebsd-alpha Wed Nov 28 14:47:47 2001 Delivered-To: freebsd-alpha@freebsd.org Received: from mail12.speakeasy.net (mail12.speakeasy.net [216.254.0.212]) by hub.freebsd.org (Postfix) with ESMTP id 01CAD37B417 for ; Wed, 28 Nov 2001 14:47:37 -0800 (PST) Received: (qmail 31502 invoked from network); 28 Nov 2001 22:47:35 -0000 Received: from unknown (HELO laptop.baldwin.cx) ([64.81.54.73]) (envelope-sender ) by mail12.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 28 Nov 2001 22:47:35 -0000 Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200111282233.fASMXUA01849@tick.sc.omation.com> Date: Wed, 28 Nov 2001 14:47:30 -0800 (PST) From: John Baldwin To: Paul Herman Subject: RE: Cc: FreeBSD Alpha Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On 28-Nov-01 Paul Herman wrote: > Hi, > > My 4.4-RELEASE (alpha) paniced 4 times in a row today and all at > the same place. I don't know what to make of it, so I thought I'd > start here. > > It happens when I do a lot of NFS traffic (like "pkg_add > /nfs/mount/package.tgz") What is XentUna? Is that a trap for > unaligned access? If so, what does fxdr_unsigned() do, and why > would XentUna fail? Or does it not try to correct it? I do have > machdep.unaligned_fix=1 if that makes a difference. The *(tl + 1) is the problem I think. What is the type of 'tl'? register u_int32_t *tl; Ah yes, definitely the problem here. NFS is evil. It's basically performing an unaligned access of a 32-bit integer in the middle of a 64-bit word. I'm not sure what the best way of fixing this is. The bad news is that NFS is probably full of such bugs. :( > Regards, > -Paul. > > > tick# gdb -k /kernel.debug /var/crash/vmcore.4 > GNU gdb 4.18 > Copyright 1998 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "alpha-unknown-freebsd"... > panic: trap >#0 0xfffffc00003a9d40 in dumpsys () at /usr/src/sys/kern/kern_shutdown.c:472 > 472 savectx(&dumppcb); > (kgdb) bt >#0 0xfffffc00003a9d40 in dumpsys () at /usr/src/sys/kern/kern_shutdown.c:472 >#1 0xfffffc00003a9908 in boot (howto=256) > at /usr/src/sys/kern/kern_shutdown.c:313 >#2 0xfffffc00003aa150 in panic (fmt=0xfffffc00005d284c "trap") > at /usr/src/sys/kern/kern_shutdown.c:581 >#3 0xfffffc0000559560 in trap (a0=18446741874698165282, a1=8192, a2=0, > entry=4, framep=0xfffffe0012a1f9a0) at > /usr/src/sys/alpha/alpha/trap.c:551 >#4 0xfffffc000054b724 in XentUna () >#5 0xfffffc00004b45bc in nfs_readrpc (vp=0xfffffe0012b11a80, > uiop=0xfffffe0012a1fbd0, cred=0xfffffe0001468b80) > at /usr/src/sys/nfs/nfs_vnops.c:1114 > (kgdb) up 5 >#5 0xfffffc00004b45bc in nfs_readrpc (vp=0xfffffe0012b11a80, > uiop=0xfffffe0012a1fbd0, cred=0xfffffe0001468b80) > at /usr/src/sys/nfs/nfs_vnops.c:1114 > 1114 eof = fxdr_unsigned(int, *(tl + 1)); > (kgdb) list > 1109 if (error) { > 1110 m_freem(mrep); > 1111 goto nfsmout; > 1112 } > 1113 nfsm_dissect(tl, u_int32_t *, 2 * NFSX_UNSIGNED); > 1114 eof = fxdr_unsigned(int, *(tl + 1)); > 1115 } else > 1116 nfsm_loadattr(vp, (struct vattr *)0); > 1117 nfsm_strsiz(retlen, nmp->nm_rsize); > 1118 nfsm_mtouio(uiop, retlen); > (kgdb) print tl > $1 = (u_int32_t *) 0xfffffe0000b51c22 > (kgdb) print tl+1 > $2 = (u_int32_t *) 0xfffffe0000b51c26 > (kgdb) print *(tl+1) > $3 = 379828717 > (kgdb) quit > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-alpha" in the body of the message -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message