Groups > DragonFly > DragonFly bugs > Re: Panic in a vkernel: getblk: vnode 0x669232e8 has no object!




Re: Panic in a vkernel: getblk: vnode 0x669232e8 has no
object!

Re: Panic in a vkernel: getblk: vnode 0x669232e8 has no object!
Tue, 1 Apr 2008 22:53:57 -0700
:Hm:
:"/home/var.vkernel/memimg.000000" is not a core dump: File format
not
:recognized" guess not? (tried it with gdb not kgdb)

    Heh.  No but you CAN gdb the live vkernel (assuming it dropped into
    db> it is still running).

    In anycase, don't bother going that far.  There's definitely a bug
    here.  The vnode is supposed to have a VM object associated with it
    and clearly there must be a path where that vnode can be instantiated
    without one.

    Can you by any chance reproduce the bug to test that this patch
    fixes the problem?

						-Matt

Index: ufs_inode.c
===================================================================
RCS file: /cvs/src/sys/vfs/ufs/ufs_inode.c,v
retrieving revision 1.24
diff -u -p -r1.24 ufs_inode.c
--- ufs_inode.c	2 Jan 2008 22:42:37 -0000	1.24
+++ ufs_inode.c	2 Apr 2008 05:51:41 -0000
@@ -87,6 +87,8 @@ 		if (!ufs_getinoquota(ip))
 			(void)ufs_chkiq(ip, -1, NOCRED, FORCE);
 #endif
 		/* Must have a VM object to truncate */
+		if (vp->v_object == NULL)
+			vinitvmio(vp, 0);
 		error = ffs_truncate(vp, (off_t)0, 0, NOCRED);
 		ip->i_rdev = 0;
Post Reply
about | contact