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

Matthew Dillon dillon at apollo.backplane.com
Tue Apr 1 22:54:14 PDT 2008


: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;
 		mode = ip->i_mode;





More information about the Bugs mailing list