Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Sep 2002 10:08:17 +0300
From:      Danny Braniss <danny@cs.huji.ac.il>
To:        Jeff Roberson <jroberson@chesapeake.net>
Cc:        current@FreeBSD.ORG
Subject:   Re: R e: VFS panic is now fixed. 
Message-ID:  <E17upEX-0009yB-00@cse.cs.huji.ac.il>
In-Reply-To: Your message of Thu, 26 Sep 2002 21:20:48 -0400 (EDT) .

next in thread | raw e-mail | index | archive | help
> 
> On Thu, 26 Sep 2002, Danny Braniss wrote:

> I am not able to reproduce this.  Can you tell me how your kernel conf
> differs from GENERIC as well as provide some details on how you trigered
> this?
> 
> Jeff
> 
sure,
the kernel is GENERIC, no changes. (with one change, in /sys/kern/vfs_subr.c i 
added
in getnewvnode:
	vnmp = 0;
because it seems suspiciosly not initialized. but it also panics - differently 
-
without it.

the host is diskless, as long as the disk is not touched, all seems ok. 
i can reproduce the panic so:

shuttle# newfs /dev/ad0s2a
/dev/ad0s2a: 500.0MB (1024000 sectors) block size 16384, fragment size 2048
        using 4 cylinder groups of 125.02MB, 8001 blks, 16128 inodes.
super-block backups (for fsck -b #) at:
 32, 256064, 512096, 768128
shuttle# mount /dev/ad0s2a /mnt-root
shuttle# cd /mnt-root
shuttle# rsh dev -n dump 0f - /c/4 | restore rf -
  DUMP: Date of this level 0 dump: Fri Sep 27 09:54:49 2002
  DUMP: Date of last level 0 dump: the epoch
  DUMP: Dumping /dev/aacd0s4e (/c/4) to standard output
  DUMP: mapping (Pass I) [regular files]
  DUMP: mapping (Pass II) [directories]
  DUMP: estimated 377991 tape blocks.
  DUMP: dumping (Pass III) [directories]
  DUMP: dumping (Pass IV) [regular files]

and after short while:

lock order reversal
 1st 0xc058bfe0 vnode_free_list (vnode_free_list) @ 
/r+d/5.0/src/sys/kern/vfs_subr.c:880
 2nd 0xc23fbab8 process lock (process lock) @ /r+d/5.0/src/sys/i386/i386/trap.c
:731


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x48
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc0325226
stack pointer           = 0x10:0xcfbca7e0
frame pointer           = 0x10:0xcfbca82c
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 2651 (restore)
kernel: type 12 trap, code=0
Stopped at      getnewvnode+0xc6:       cmpl    $0,0x48(%ebx)
db> trace
getnewvnode(c04ce4e9,c2453200,c1fbc500,cfbca884,c6c450ae) at getnewvnode+0xc6
ffs_vget(c2453200,5f9,2,cfbca8f4,8180) at ffs_vget+0x93
ffs_valloc(c293f000,8180,c2410000,cfbca8f4,cfbca8f8) at ffs_valloc+0x100
ufs_makeinode(8180,c293f000,cfbcabec,cfbcac00,602) at ufs_makeinode+0x69
ufs_create(cfbcaa48,cfbcaa68,c0333259,cfbcaa48,c04e3e80) at ufs_create+0x39
ufs_vnoperate(cfbcaa48,c04e3e80,c293f000,cfbcabec,cfbcac00) at 
ufs_vnoperate+0x18
VOP_CREATE(c293f000,cfbcabec,cfbcac00,cfbcaaac,2) at VOP_CREATE+0x39
vn_open_cred(cfbcabd8,cfbcacd8,180,c2410000,cfbcacc4) at vn_open_cred+0x179
vn_open(cfbcabd8,cfbcacd8,180,28f,0) at vn_open+0x29
kern_open(c23fa000,80b32b3,0,602,1b6) at kern_open+0x183
open(c23fa000,cfbcad10,c04daba0,418,3) at open+0x30
syscall(2f,2f,2f,80b32b3,0) at syscall+0x2be
Xint0x80_syscall() at Xint0x80_syscall+0x1d
--- syscall (5, FreeBSD ELF32, open), eip = 0x8054953, esp = 0xbfbff75c, ebp = 
0xbfbff7a8 ---
db> 





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?E17upEX-0009yB-00>