Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Feb 1997 20:53:00 -0800 (PST)
From:      Dmitry Kohmanyuk <dk@genesyslab.com>
To:        freebsd-hackers@freebsd.org
Cc:        dk@farm.org
Subject:   2.2 panic in i586_bc1 call from nfs_writerpc()
Message-ID:  <199702080453.UAA09228@zen.genesyslab.com>

next in thread | raw e-mail | index | archive | help

hi,

I got a weird panic today, and I beleive I know why it happened ;-)

(kgdb) bt
#0  boot (howto=256) at ../../kern/kern_shutdown.c:243
#1  0xf0112262 in panic (
    fmt=0xf01b8257 "vm_fault: fault on nofault entry, addr: %lx")
    at ../../kern/kern_shutdown.c:367
#2  0xf01b837e in vm_fault (map=0xf1f77e80, vaddr=4105216000,
    fault_type=1 '\001', change_wiring=0) at ../../vm/vm_fault.c:201
#3  0xf01cd0a4 in trap_pfault (frame=0xefbffc80, usermode=0)
    at ../../i386/i386/trap.c:642
#4  0xf01ccdcf in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = -235292624,
      tf_esi = -189751296, tf_ebp = -272630520, tf_isp = -272630616,
      tf_ebx = -235363712, tf_edx = -2147155909, tf_ecx = 2000,
      tf_eax = -45541328, tf_trapno = 12, tf_err = 0, tf_eip = -266552628,
      tf_cs = 8, tf_eflags = 66050, tf_esp = 2000, tf_ss = -189751296})
    at ../../i386/i386/trap.c:311
#5  0xf01cbacc in i586_bc1 ()
#6  0xf01876a8 in nfs_writerpc (vp=0xf24f6680, uiop=0xefbffdf8,
    cred=0xf2753380, iomode=0xefbffdec, must_commit=0xefbffde4)
    at ../../nfs/nfs_vnops.c:1164
#7  0xf01614a8 in nfs_doio (bp=0xf434ecc4, cr=0xf2753380, p=0x0)
    at ../../nfs/nfs_bio.c:973
#8  0xf0180543 in nfssvc_iod (p=0xf23ab600) at ../../nfs/nfs_syscalls.c:781
#9  0xf017f2be in nfssvc (p=0xf23ab600, uap=0xefbfff94, retval=0xefbfff84)
    at ../../nfs/nfs_syscalls.c:202
---Type <return> to continue, or q <return> to quit---
#10 0xf01cd89f in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = -272638320,
      tf_esi = 0, tf_ebp = -272638368, tf_isp = -272629788, tf_ebx = 3,
      tf_edx = 1, tf_ecx = 1, tf_eax = 155, tf_trapno = 12, tf_err = 7,
      tf_eip = 8597, tf_cs = 31, tf_eflags = 582, tf_esp = -272638392,
      tf_ss = 39}) at ../../i386/i386/trap.c:892
#11 0x2195 in ?? ()
Cannot access memory at address 0xefbfde64.

the system was writing over NFS at the moment, and the file size has
hit 2G:

-rw-r--r--   1 backup  wheel  2147516416 Feb  7 17:04 filename

(the reason file is that big is backup included /proc, by mistake, and
Solaris's tar was happily reading all the processes' cores)

the mtime stamp of this file is exactly the time of a crash, so I beleive
that nagative 32-bit offset was the reason for a panic.

there are 2 calls to bcopy() in nfs_vnops.c:nfs_writerpc(), but the logic 
is that only one of them can be executed at one invocation.

(btw, gdb cannot disassemble functions in support.s ;-(  but it's easy
to see that it's within i586_bc1 anyway (next label is i586_global_bcopy,
and that address is higher than fault's).

I have recompiled my world pretty recently (I cvsupped cvs tree, checked
out RELENG_2_2 and compiled from that).  Just for reference, it's
 *      $Id: support.s,v 1.41.2.6 1997/01/25 03:23:09 dyson Exp $
and
 * $Id: nfs_vnops.c,v 1.36.2.2 1997/01/07 06:18:27 wpaul Exp $





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702080453.UAA09228>