From owner-freebsd-current Thu Dec 7 16:56:08 1995 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id QAA08506 for current-outgoing; Thu, 7 Dec 1995 16:56:08 -0800 (PST) Received: from pain.csrv.uidaho.edu (root@pain.csrv.uidaho.edu [129.101.114.109]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id QAA08483 for ; Thu, 7 Dec 1995 16:56:03 -0800 (PST) Received: from pain.csrv.uidaho.edu (fn@localhost [127.0.0.1]) by pain.csrv.uidaho.edu (8.6.12/8.6.9) with ESMTP id QAA04069 for ; Thu, 7 Dec 1995 16:55:26 -0800 Message-Id: <199512080055.QAA04069@pain.csrv.uidaho.edu> To: current@freebsd.org Subject: getblk problem? MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <4062.818384124.1@pain.csrv.uidaho.edu> Date: Thu, 07 Dec 1995 16:55:25 -0800 From: Faried Nawaz Sender: owner-current@freebsd.org Precedence: bulk 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 to continue, or q 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.