Subject: Re: crash on -current i386 kernel compiled yesterday
To: Jeff Rizzo <riz@boogers.sf.ca.us>
From: Chuck Silvers <chuq@chuq.com>
List: tech-smp
Date: 11/21/2001 18:43:19
hi,

this is unrelated to the file-system-full problems of a few weeks ago.
I added some checks recently that we're holding the right spinlocks in
a bunch more places, and those checks found a place where we're not.
I just checked in a fix, get ufs_inode.c rev. 1.30.

-Chuck


On Wed, Nov 21, 2001 at 10:35:21AM -0800, Jeff Rizzo wrote:
> My /usr filled up, and the machine hung. When I got to the console,
> it was at a db prompt, and typing "c" got me this:
> 
> syncing disks... 
> simple_lock: locking against myself
> lock: 0xe71e3b94, currently at: /usr/src/sys/arch/i386/compile/DL380.MP/../../../../ufs/ffs/ffs_vfsops.c:971
> on cpu 0
> last locked: /usr/src/sys/arch/i386/compile/DL380.MP/../../../../ufs/ufs/ufs_inode.c:243
> last unlocked: /usr/src/sys/arch/i386/compile/DL380.MP/../../../../ufs/ufs/ufs_inode.c:219
> ffs_sync(c1214a00,2,c131b200,e746e1dc) at ffs_sync+0x9b
> sys_sync(e746e1dc,0,0,c0190010,100) at sys_sync+0x72
> vfs_shutdown(e7479c1c,e7479c1c,c037f57d,16e168,2e06) at vfs_shutdown+0x7b
> cpu_reboot(100,0,e7479c10,c019e7bd,c0b364d0) at cpu_reboot+0x3b
> panic(c045e320,c039ae0d,c039b560,c039afc0,4a9) at panic+0x123
> __assert(c039ae0d,c039afc0,4a9,c039b560,c0b364d0) at __assert+0x1f
> uvm_pagefree(c0b364d0,e746e1dc,0,0) at uvm_pagefree+0x5f
> uvm_page_unbusy(e7479cb8,2,f3,e7479d00,c0b364d0,c0a25504,e7479d00,c01bfd53,0,e71e3b94,0,10202,e71e3b94,e,c0499a00,34,e72d9e6c,2000,e72d9e68,0,0,2,5000,0,5000,0,e7479e20,c027863f,e71e3b94,0,0,2000,0,c131b200,0,c018ec76,e71e3b94,1,e71e3b94,c029e874,e71e3c18,30002,e71e3b94,78b,c049000c,41398,e7479dc0,c018df0f,34,0,ffffe000,1,20002,2000,0,1,1fff,0,34,0,0,3bfbeb5e,e72d9e6c) at uvm_page_unbusy+0x47
> ufs_balloc_range(e71e3b94,0,0,2000,0) at ufs_balloc_range+0x2f3
> ffs_write(e7479e4c,30002,263,c029542e,2000) at ffs_write+0x57b
> VOP_WRITE(e71e3b94,e7479ee0,1,c131b200,e7479f80) at VOP_WRITE+0x3b
> vn_write(e6232f90,e6232fac,e7479ee0,c131b200,1) at vn_write+0x9f
> dofilewrite(e746e1dc,3,e6232f90,80fc000,2000) at dofilewrite+0x9b
> sys_write(e746e1dc,e7479f80,e7479f78,c03a30a0,0) at sys_write+0x67
> syscall_plain(1f,1f,1f,1f,80fc000) at syscall_plain+0x10e
> Stopped in pid 8338 (as) at     cpu_Debugger+0x4:       leave
> db{0}> reboot
> 
> This is on a compaq DL380 with two processors.  It was running
> mostly-stable on a 1.5X kernel of a couple months ago until this.
> (Of course, I never filled up /usr)
> 
> +j
> -- 
> Jeff Rizzo                                         http://boogers.sf.ca.us/~riz