Date: Thu, 07 Dec 1995 16:55:25 -0800 From: Faried Nawaz <fn@pain.csrv.uidaho.edu> To: current@freebsd.org Subject: getblk problem? Message-ID: <199512080055.QAA04069@pain.csrv.uidaho.edu>
next in thread | raw e-mail | index | archive | help
Hi,
I've experienced five crashes since Dec 5. Yesterday (6th) around 5pm PST,
I sup'd -current (I had last sup'd around Dec 3), and recompiled my kernel --
machine "i386"
cpu "I486_CPU"
ident pain
maxusers 8
options GPL_MATH_EMULATE #Math coprocessor emulation
options INET #InterNETworking
options FFS #Berkeley Fast Filesystem
options "COMPAT_43" #Compatible with BSD 4.3
options KTRACE #kernel tracing
options IPACCT #ip accounting
options IPFIREWALL
options IPFIREWALL_VERBOSE
options "PCVT_FREEBSD=210" #pcvt for os=-current
options FAT_CURSOR #fat cursor.
options PCVT_PRETTYSCRNS #pretty screensaver
options PCVT_META_ESC #alt = meta
options PCVT_INHIBIT_NUMLOCK #i hate numlock
options JREMOD
config kernel root on wd0
controller isa0
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
disk wd0 at wdc0 drive 0
disk wd1 at wdc0 drive 1
# uncomment one of the following.
#device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
device vt0 at isa? port "IO_KBD" tty irq 1 vector pcrint
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr
device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr
device lpt0 at isa? port? tty irq 7 vector lptintr
device ed1 at isa? port 0x300 net irq 15 iomem 0xd8000 vector edintr
device pca0 at isa? port "IO_TIMER1" tty
pseudo-device loop
pseudo-device ether
pseudo-device log
pseudo-device pty 16
pseudo-device bpfilter 2
pseudo-device tun 1
pseudo-device speaker
pseudo-device vn 2
The problem appeared to have disappeared...until today. Crashed again,
around 3pm, after being up for around 20 hours.
I rebuilt the kernel with -g, and
; gdb -q -k
(kgdb) symbol-file kernel
Reading symbols from kernel...done.
(kgdb) exec-file /var/crash/kernel.6
(kgdb) core-file /var/crash/vmcore.6
IdlePTD 1a2000
current pcb at 19521c
panic: m_copydata
#0 boot (howto=260) at ../../i386/i386/machdep.c:942
942 dumppcb.pcb_ptd = rcr3();
(kgdb) where
#0 boot (howto=260) at ../../i386/i386/machdep.c:942
#1 0xf010fbf3 in panic (fmt=0xf015ec4c "page fault")
at ../../kern/subr_prf.c:124
#2 0xf015f74e in trap_fatal (frame=0xf0186cb8) at ../../i386/i386/trap.c:744
#3 0xf015f2c0 in trap_pfault (frame=0xf0186cb8, usermode=0)
at ../../i386/i386/trap.c:666
#4 0xf015ef5f in trap (frame={tf_es = -266862576, tf_ds = -261488624,
tf_edi = -1073610752, tf_esi = 16, tf_ebp = -266834684,
tf_isp = -267340059, tf_ebx = 0, tf_edx = 458832, tf_ecx = 0,
tf_eax = 16, tf_trapno = 12, tf_err = 0, tf_eip = -267340059, tf_cs = 8,
tf_eflags = 66118, tf_esp = -247748460, tf_ss = -261454080})
at ../../i386/i386/trap.c:307
#5 0xf015809d in calltrap ()
#6 0xf010b6e5 in tsleep (ident=0xf13ba894, priority=16,
wmesg=0xf011f165 "getblk", timo=0) at ../../kern/kern_synch.c:295
#7 0xf011f1ea in getblk (vp=0xf06a8700, blkno=458832, size=8192, slpflag=0,
slptimeo=0) at ../../kern/vfs_bio.c:864
#8 0xf011e191 in bread (vp=0xf06a8700, blkno=458832, size=8192,
cred=0xffffffff, bpp=0xf0186da0) at ../../kern/vfs_bio.c:179
#9 0xf0140f65 in ffs_update (ap=0xf0186dc8) at ../../ufs/ffs/ffs_inode.c:133
#10 0xf01443ae in ffs_fsync (ap=0xf0186e08) at ./vnode_if.h:1034
#11 0xf01430f2 in ffs_sync (mp=0xf06ae800, waitfor=2, cred=0xf0501b80,
p=0xf019df48) at ./vnode_if.h:410
---Type <return> to continue, or q <return> to quit---
#12 0xf01247da in sync (p=0xf019df48, uap=0x0, retval=0x0)
at ../../kern/vfs_syscalls.c:348
#13 0xf015a6fd in boot (howto=256) at ../../i386/i386/machdep.c:891
#14 0xf010fbf3 in panic (fmt=0xf01187c4 "m_copydata")
at ../../kern/subr_prf.c:124
#15 0xf01187f1 in m_copydata (m=0x0, off=-1, len=1,
cp=0xf07edde8 "\005larry\005vdata\003com") at ../../kern/uipc_mbuf.c:367
#16 0xf013b5c5 in tcp_output (tp=0xf071d800) at ../../netinet/tcp_output.c:476
#17 0xf013a85a in tcp_input (m=0xf06c5d80, iphlen=20)
at ../../netinet/tcp_input.c:1629
#18 0xf0135779 in ipintr () at ../../netinet/ip_input.c:466
#19 0xf015955d in swi_net_next ()
#20 0xf015e938 in cpu_switch ()
(kgdb) up
#1 0xf010fbf3 in panic (fmt=0xf015ec4c "page fault")
at ../../kern/subr_prf.c:124
124 boot(bootopt);
(kgdb) up
#2 0xf015f74e in trap_fatal (frame=0xf0186cb8) at ../../i386/i386/trap.c:744
744 panic(trap_msg[type]);
(kgdb) up
#3 0xf015f2c0 in trap_pfault (frame=0xf0186cb8, usermode=0)
at ../../i386/i386/trap.c:666
666 trap_fatal(frame);
(kgdb) up
#4 0xf015ef5f in trap (frame={tf_es = -266862576, tf_ds = -261488624,
tf_edi = -1073610752, tf_esi = 16, tf_ebp = -266834684,
tf_isp = -267340059, tf_ebx = 0, tf_edx = 458832, tf_ecx = 0,
tf_eax = 16, tf_trapno = 12, tf_err = 0, tf_eip = -267340059, tf_cs = 8,
tf_eflags = 66118, tf_esp = -247748460, tf_ss = -261454080})
at ../../i386/i386/trap.c:307
307 (void) trap_pfault(&frame, FALSE);
(kgdb) up
#5 0xf015809d in calltrap ()
(kgdb) up
#6 0xf010b6e5 in tsleep (ident=0xf13ba894, priority=16,
wmesg=0xf011f165 "getblk", timo=0) at ../../kern/kern_synch.c:295
295 int sig, catch = priority & PCATCH;
(kgdb) up
#7 0xf011f1ea in getblk (vp=0xf06a8700, blkno=458832, size=8192, slpflag=0,
slptimeo=0) at ../../kern/vfs_bio.c:864
864 if (!tsleep(bp, PRIBIO | slpflag, "getblk", slptimeo))
(kgdb) up
#8 0xf011e191 in bread (vp=0xf06a8700, blkno=458832, size=8192,
cred=0xffffffff, bpp=0xf0186da0) at ../../kern/vfs_bio.c:179
179 bp = getblk(vp, blkno, size, 0, 0);
(kgdb) up
#9 0xf0140f65 in ffs_update (ap=0xf0186dc8) at ../../ufs/ffs/ffs_inode.c:133
133 error = bread(ip->i_devvp, fsbtodb(fs, ino_to_fsba(fs, ip->i_number)),
(kgdb) up
#10 0xf01443ae in ffs_fsync (ap=0xf0186e08) at ./vnode_if.h:1034
Source file is more recent than executable.
1034 return (VCALL(vp, VOFFSET(vop_update), &a));
(kgdb) up
#11 0xf01430f2 in ffs_sync (mp=0xf06ae800, waitfor=2, cred=0xf0501b80,
p=0xf019df48) at ./vnode_if.h:410
Source file is more recent than executable.
410 return (VCALL(vp, VOFFSET(vop_fsync), &a));
(kgdb) up
#12 0xf01247da in sync (p=0xf019df48, uap=0x0, retval=0x0)
at ../../kern/vfs_syscalls.c:348
348 VFS_SYNC(mp, MNT_NOWAIT, p != NULL ? p->p_ucred : NOCRED, p);
(kgdb) up
#13 0xf015a6fd in boot (howto=256) at ../../i386/i386/machdep.c:891
891 sync(&proc0, NULL, NULL);
(kgdb) quit
; exit
I'm not sure what to look for (it's the first time I've done this). Is
this the getblk problem, or a new one? All my panics have been due to
"m_copydata".
It's a 486sx33 with two ide drives, trident svga video card, ne2000-ish
ethernet card. I'm using a 32mb swap partition, and a 16mb file swap (a
vnode disk; I'm going to disable that and see what happens).
(One thing: over the weekend, I upgraded to 16mb ram (4 4x9 30pin 70ns simms)
from 8mb (4 1x9 30pin 70ns and 4 1x3 30pin 70ns simms). Things ran fine
from Saturday until Tuesday -- no crashes.)
I'm compiling a kernel with DDB right now.
Has anyone else seen this, or something like this?
faried.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512080055.QAA04069>
