Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Mar 1998 17:40:15 -0400 (AST)
From:      The Hermit Hacker <scrappy@hub.org>
To:        Chris Csanady <ccsanady@friley585.res.iastate.edu>
Cc:        freebsd-stable@FreeBSD.ORG, freebsd-scsi@FreeBSD.ORG
Subject:   panic: biodone: buffer not busy (Was: Re: Signal 11's.. (and SCB problems) )
Message-ID:  <Pine.BSF.3.96.980329173723.1536J-300000@thelab.hub.org>
In-Reply-To: <199803291535.JAA18988@friley585.res.iastate.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Sun, 29 Mar 1998, Chris Csanady wrote:

> I have actually tried removing the AHC_SCBPAGING_ENABLE and AHC_TAGENABLE
> lines, although that does not seem to help under SMP.  I have not tried
> that without SMP though.  

	Well, I removed the AHC_SCBPAGING_ENABLE option, but left in the
TAGENABLE, and it panic'd a few hours later (panic'ng is better then
hanging...debuggable, at least)...

	I've included here both the config file for my machine, as it
stands now, as well as the gdb output for the core dump.  If there is any
more information that I can provide, please feel free to ask...I have lots
of space right now for /var/crash, so am in no hurry to remove it...


[-- Attachment #2 --]
Script started on Sun Mar 29 16:31:59 1998
# gdb -k kernel.Mar29 vmcore.0
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i386-unknown-freebsd), 
Copyright 1996 Free Software Foundation, Inc...
IdlePTD 1c2000
current pcb at 1a9070
panic: biodone: buffer not busy
#0  boot (howto=260) at ../../kern/kern_shutdown.c:266
266					dumppcb.pcb_cr3 = rcr3();
(kgdb) where
#0  boot (howto=260) at ../../kern/kern_shutdown.c:266
#1  0xf010ec72 in panic (fmt=0xf01295b5 "biodone: buffer not busy")
    at ../../kern/kern_shutdown.c:390
#2  0xf012971c in biodone (bp=0xf369c85c) at ../../kern/vfs_bio.c:1557
#3  0xf0154e1c in scsi_done (xs=0xf16ec100) at ../../scsi/scsi_base.c:449
#4  0xf0196d41 in ahc_done (ahc=0xf1669800, scb=0xf166aaa0)
    at ../../i386/scsi/aic7xxx.c:1944
#5  0xf01947c7 in ahc_intr (arg=0xf1669800) at ../../i386/scsi/aic7xxx.c:814
#6  0xf01988ea in ahc_timeout (arg=0xf166aa40)
    at ../../i386/scsi/aic7xxx.c:2882
#7  0xf010665c in softclock () at ../../kern/kern_clock.c:715
#8  0xf0176ad7 in doreti_swi ()
#9  0xf0129563 in biowait (bp=0xf36e2e24) at ../../kern/vfs_bio.c:1532
#10 0xf012791f in bread (vp=0xf169b200, blkno=3932448, size=8192, cred=0x0, 
    bpp=0xefbffdf4) at ../../kern/vfs_bio.c:244
#11 0xf015c3ff in ffs_update (ap=0xefbffe20) at ../../ufs/ffs/ffs_inode.c:137
#12 0xf015faf0 in ffs_fsync (ap=0xefbffe64) at vnode_if.h:1031
#13 0xf015e730 in ffs_sync (mp=0xf16b5e00, waitfor=2, cred=0xf1024a80, 
    p=0xf01b5fd0) at vnode_if.h:407
#14 0xf012e8a7 in sync (p=0xf01b5fd0, uap=0x0, retval=0x0)
    at ../../kern/vfs_syscalls.c:360
#15 0xf010e87d in boot (howto=256) at ../../kern/kern_shutdown.c:199
#16 0xf010ec72 in panic (fmt=0xf01295b5 "biodone: buffer not busy")
    at ../../kern/kern_shutdown.c:390
#17 0xf012971c in biodone (bp=0xf36f7590) at ../../kern/vfs_bio.c:1557
#18 0xf0154e1c in scsi_done (xs=0xf16eff80) at ../../scsi/scsi_base.c:449
#19 0xf0196d41 in ahc_done (ahc=0xf1669800, scb=0xf166aa40)
    at ../../i386/scsi/aic7xxx.c:1944
#20 0xf01947c7 in ahc_intr (arg=0xf1669800) at ../../i386/scsi/aic7xxx.c:814
#21 0x2eefd in ?? ()
#22 0x2d5b2 in ?? ()
#23 0x39b6 in ?? ()
#24 0x16a8 in ?? ()
#25 0x1096 in ?? ()
(kgdb) up
#1  0xf010ec72 in panic (fmt=0xf01295b5 "biodone: buffer not busy")
    at ../../kern/kern_shutdown.c:390
390		boot(bootopt);
(kgdb) up
#2  0xf012971c in biodone (bp=0xf369c85c) at ../../kern/vfs_bio.c:1557
1557			panic("biodone: buffer not busy");
(kgdb) list
1552	{
1553		int s;
1554	
1555		s = splbio();
1556		if (!(bp->b_flags & B_BUSY))
1557			panic("biodone: buffer not busy");
1558	
1559		if (bp->b_flags & B_DONE) {
1560			splx(s);
1561			printf("biodone: buffer already done\n");
(kgdb) up
#3  0xf0154e1c in scsi_done (xs=0xf16ec100) at ../../scsi/scsi_base.c:449
449		biodone(bp);
(kgdb) list
444			}
445			xs->flags |= ITSDONE;
446		}
447	
448		free_xs(xs, sc_link, SCSI_NOSLEEP); /* does a start if needed */
449		biodone(bp);
450	}
451	
452	/*
453	 * ask the scsi driver to perform a command for us.
(kgdb) quit
# ^Dexit

Script done on Sun Mar 29 16:32:47 1998


[-- Attachment #3 --]
machine		"i386"
#cpu		"I486_CPU"
cpu		"I586_CPU"
ident		hub_org
maxusers	128

options		"CHILD_MAX=128"
options		"OPEN_MAX=128"

config		kernel	root on wd0

options		"MAXMEM=(128*1024)"
options		"MAXDSIZ=(256UL*1024*1024)"
options		"COMPAT_43"
options		SYSVSHM
options		SYSVSEM
options		SYSVMSG
#options	"SHMSEG=128"
#options	"SHMMAXPGS=4096"
options		INET			#Internet communications protocols
options		FFS			#Fast filesystem
options		PROCFS			#Process filesystem
options		QUOTA			#enable disk quotas
options         NSWAPDEV=10

pseudo-device	ether			#Generic Ethernet
pseudo-device	loop			#Network loopback device
pseudo-device	bpfilter	4	#Berkeley packet filter
pseudo-device	pty	64	#Pseudo ttys - can go as high as 64
pseudo-device	log		#Kernel syslog interface (/dev/klog)
pseudo-device   ccd     8       #Concatenated disk driver

controller	isa0

#controller	aha0	at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr
controller	scbus0	#base SCSI code
device		sd0	#SCSI disks

device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr

device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr
controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0

options         "CMD640"        # work around CMD640 chip deficiency
controller      wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
disk            wd0     at wdc0 drive 0
disk            wd1     at wdc0 drive 1

device		sio0	at isa? port "IO_COM1" tty irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr

device vx0
#device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr

controller	pci0
device		ncr0

controller	ahc0
#options AHC_SCBPAGING_ENABLE
options AHC_TAGENABLE
options AHC_ALLOW_MEMIO


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.980329173723.1536J-300000>