tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

panic: ffs_valloc: dup alloc



Hi,

I'm seeing a panic: ffs_valloc: dup alloc.
Does anyone have a similar panic?

The kernel is -current from March 15.
I cannot repeat the panic reliably, but it seems to occur after
suspend/resume (immediately or several minutes later).
The panic occured in /home, which is a ffs on cgd on wd.
"fsck -f" does not report any error on it.

% uname -a
NetBSD mitana.nanohz.org 5.99.24 NetBSD 5.99.24 (MITANA) #202: Mon Mar 15 
13:54:47 CDT 2010  
ken%mitana.nanohz.org@localhost:/usr/src/sys/arch/i386/compile/MITANA i386

% mount
/dev/wd0a on / type ffs (noatime, nodevmtime, local)
/dev/wd0h on /var type ffs (noatime, log, local)
/dev/wd0g on /usr type ffs (noatime, log, local)
/dev/cgd0a on /home type ffs (noatime, local)
tmpfs on /tmp type tmpfs (local)
procfs on /proc type procfs (local)
procfs on /usr/pkg/emul/linux/proc type procfs (local)
ptyfs on /dev/pts type ptyfs (local)

% find /home -inum 23052
/home/ken/.mozilla/firefox/default.07r/lock     # which is a symlink.


(gdb) bt
#0  cpu_reboot (howto=260, bootstr=0x0)
    at ../../../../arch/i386/i386/machdep.c:854
#1  0xc03a8751 in panic (fmt=0xc0561bf1 "ffs_valloc: dup alloc")
    at ../../../../kern/subr_prf.c:302
#2  0xc01e7b9d in ffs_valloc (pvp=0xcccc88a8, mode=33152, cred=0xcd086000, 
    vpp=0xcd192c7c) at ../../../../ufs/ffs/ffs_alloc.c:599
#3  0xc03ee796 in ufs_makeinode (mode=33152, dvp=0xcccc88a8, vpp=0xcd192c7c, 
    cnp=0xcd192c90) at ../../../../ufs/ufs/ufs_vnops.c:2185
#4  0xc03eeb29 in ufs_create (v=0xcd192b54)
    at ../../../../ufs/ufs/ufs_vnops.c:144
#5  0xc045cca5 in VOP_CREATE (dvp=0xcccc88a8, vpp=0xcd192c7c, cnp=0xcd192c90, 
    vap=0xcd192ba8) at ../../../../kern/vnode_if.c:163
#6  0xc045014c in vn_open (ndp=0xcd192c68, fmode=2563, cmode=384)
    at ../../../../kern/vfs_vnops.c:178
#7  0xc044cc25 in sys_open (l=0xcd16fd20, uap=0xcd192d00, retval=0xcd192d28)
    at ../../../../kern/vfs_syscalls.c:1320
#8  0xc03b5cc9 in syscall (frame=0xcd192d48) at ../../../../sys/syscallvar.h:61
#9  0xc0100525 in syscall1 ()


(gdb) frame 2
#2  0xc01e7b9d in ffs_valloc (pvp=0xcccc88a8, mode=33152, cred=0xcd086000, 
    vpp=0xcd192c7c) at ../../../../ufs/ffs/ffs_alloc.c:599
599                     panic("ffs_valloc: dup alloc");
(gdb) p *(*vpp)->v_mount
$1 = {mnt_list = {cqe_next = 0xcb69e000, cqe_prev = 0xcb617000}, 
  mnt_vnodelist = {tqh_first = 0xcc91ec44, tqh_last = 0xcec3629c}, 
  mnt_op = 0xc05b1b80, mnt_vnodecovered = 0xcc4987f4, mnt_syncer = 0xcc91ec44, 
  mnt_transinfo = 0xcb11c354, mnt_data = 0xc2180b00, mnt_unmounting = {
    rw_owner = 0}, mnt_renamelock = {u = {mtxa_owner = 0}}, 
  mnt_refcnt = 17050, mnt_recursecnt = 0, mnt_flag = 67112960, 
  mnt_iflag = 448, mnt_fs_bshift = 14, mnt_dev_bshift = 9, mnt_stat = {
    f_flag = 0, f_bsize = 16384, f_frsize = 2048, f_iosize = 16384, 
    f_blocks = 3096999, f_bfree = 1611921, f_bavail = 1457072, 
    f_bresvd = 154849, f_files = 774654, f_ffree = 674307, f_favail = 674307, 
    f_fresvd = 0, f_syncreads = 111436, f_syncwrites = 1300, f_asyncreads = 7, 
    f_asyncwrites = 488, f_fsidx = {__fsid_val = {5376, 1931}}, f_fsid = 5376, 
    f_namemax = 255, f_owner = 0, f_spare = {0, 0, 0, 0}, 
    f_fstypename = "ffs", '\0' <repeats 28 times>, 
    f_mntonname = "/home", '\0' <repeats 1018 times>, 
    f_mntfromname = "/dev/cgd0a", '\0' <repeats 1013 times>}, 
  mnt_specdataref = {specdataref_container = 0x0, specdataref_lock = {u = {
        mtxa_owner = 0}}}, mnt_updating = {u = {mtxa_owner = 0}}, 
  mnt_wapbl_op = 0x0, mnt_wapbl = 0x0, mnt_wapbl_replay = 0x0, mnt_gen = 3}
(gdb) p *(struct inode *)(*vpp)->v_data
$2 = {i_gnode = {g_op = 0xc04f7374, g_glock = {rw_owner = 0}, g_dirtygen = 0}, 
  i_hash = {le_next = 0x0, le_prev = 0xcc52bc30}, i_nextsnap = {
    tqe_next = 0x0, tqe_prev = 0x0}, i_vnode = 0xcec36228, i_ump = 0xc2180b00, 
  i_devvp = 0xcc498964, i_flag = 0, i_dev = 5376, i_number = 23052, inode_u = {
    fs = 0xc2188800, lfs = 0xc2188800, e2fs = 0xc2188800}, i_unused1 = 0x0, 
  i_dquot = {0x0, 0x0}, i_modrev = 15425831166720, i_lockf = 0x0, i_count = 0, 
  i_endoff = 0, i_diroff = 0, i_offset = 0, i_reclen = 0, i_unused = 0, 
  inode_ext = {ffs = {ffs_snapblklist = 0x0, ffs_first_data_blk = 0, 
      ffs_first_indir_blk = 0}, e2fs = {ext2fs_last_lblk = 0, 
      ext2fs_last_blk = 0}, lfs = 0x0}, i_mode = 41453, i_nlink = 1, 
  i_size = 14, i_flags = 0, i_gen = 704332479, i_uid = 10001, i_gid = 10001, 
  i_dirhash = 0x0, i_din = {ffs1_din = 0xcdc17f38, ffs2_din = 0xcdc17f38, 
    e2fs_din = 0xcdc17f38}}


(gdb) frame 7
#7  0xc044cc25 in sys_open (l=0xcd16fd20, uap=0xcd192d00, retval=0xcd192d28)
    at ../../../../kern/vfs_syscalls.c:1320
1320            if ((error = vn_open(&nd, flags, cmode)) != 0) {
(gdb) p nd
$3 = {ni_dirp = 0xcccd0800 "/home/ken/.history.00999a", 
  ni_segflg = UIO_SYSSPACE, ni_startdir = 0x0, ni_rootdir = 0xcc3e6ac8, 
  ni_erootdir = 0x0, ni_vp = 0xcec36228, ni_dvp = 0xcccc88a8, ni_pathlen = 1, 
  ni_next = 0xcccd0c19 "", ni_loopcnt = 0, ni_cnd = {cn_nameiop = 1, 
    cn_flags = 52252, cn_cred = 0xcd086000, 
    cn_pnbuf = 0xcccd0c00 "/home/ken/.history.00999a", 
    cn_nameptr = 0xcccd0c0a ".history.00999a", cn_namelen = 15, 
    cn_hash = 2473205161, cn_consume = 0}}

Thanks,
-- 
KAMADA Ken'ichi <kamada%nanohz.org@localhost>


Home | Main Index | Thread Index | Old Index