Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Feb 2003 22:44:04 +0100
From:      Patric Mrawek <patric@argv.de>
To:        current@FreeBSD.ORG
Subject:   5.0R - panic: bwrite: buffer is not busy
Message-ID:  <20030219214404.GA35530@argv.de>

next in thread | raw e-mail | index | archive | help
I am seeing a reproducible panic with

FreeBSD talisker 5.0-RELEASE FreeBSD 5.0-RELEASE #5: Wed Jan 29 10:49:32 CE=
T 2003
root@talisker:/usr/src/sys/i386/compile/TALISKER i386

What I've done is:
- kldload uvisor.ko
- running =BB/usr/sbin/usbd -d -v=AB
- running =BBjpilot-sync -d -l -p /dev/ucom0=AB
- hitting the sync-button from my visor several times

After hitting the sync-button 5 to 10 times my box panics.

I've some coredumps handy, so I can dig (with some help) deeper into
this.

Script started on Wed Feb 19 22:16:30 2003
patric@talisker:/home/patric$ gdb -k /sys/i386/compile/TALISKER/kernel.debu=
g /var/crash/vmcore.1
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain condition=
s.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-undermydesk-freebsd"...
panic: bwrite: buffer is not busy???
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address	=3D 0x32
fault code		=3D supervisor read, page not present
instruction pointer	=3D 0x8:0xc020c793
stack pointer	        =3D 0x10:0xd8db7ad8
frame pointer	        =3D 0x10:0xd8db7b0c
code segment		=3D base 0x0, limit 0xfffff, type 0x1b
			=3D DPL 0, pres 1, def32 1, gran 1
processor eflags	=3D interrupt enabled, resume, IOPL =3D 0
current process		=3D 68897 (jpilot-sync)
trap number		=3D 12
panic: page fault

syncing disks, buffers remaining... panic: bwrite: buffer is not busy???
Uptime: 11h14m26s
Dumping 511 MB
ata0: resetting devices ..
done
[CTRL-C to abort]  16[CTRL-C to abort]  32 48 64 80 96 112 128 144 160 176 =
192 208 224 240 256 272 288 304 320 336 352 368 384 400 416 432 448 464 480=
 496
---
#0  doadump () at ../../../kern/kern_shutdown.c:232
232		dumping++;
(kgdb) bt
#0  doadump () at ../../../kern/kern_shutdown.c:232
#1  0xc024abd9 in boot (howto=3D260) at ../../../kern/kern_shutdown.c:364
#2  0xc024ae23 in panic () at ../../../kern/kern_shutdown.c:517
#3  0xc0290bd2 in bwrite (bp=3D0xce6aa2f0) at ../../../kern/vfs_bio.c:796
#4  0xc02922b5 in vfs_bio_awrite (bp=3D0xce6aa2f0) at ../../../kern/vfs_bio=
=2Ec:1643
#5  0xc03183ba in ffs_fsync (ap=3D0xd8db78e0) at ../../../ufs/ffs/ffs_vnops=
=2Ec:258
#6  0xc0317517 in ffs_sync (mp=3D0xc4206200, waitfor=3D2, cred=3D0xc1541e80=
, td=3D0xc03f6ee0) at vnode_if.h:612
#7  0xc02a5e2b in sync (td=3D0xc03f6ee0, uap=3D0x0) at ../../../kern/vfs_sy=
scalls.c:138
#8  0xc024a7bc in boot (howto=3D256) at ../../../kern/kern_shutdown.c:273
#9  0xc024ae23 in panic () at ../../../kern/kern_shutdown.c:517
#10 0xc03717a2 in trap_fatal (frame=3D0xd8db7a98, eva=3D0) at ../../../i386=
/i386/trap.c:844
#11 0xc0371482 in trap_pfault (frame=3D0xd8db7a98, usermode=3D0, eva=3D50) =
at ../../../i386/i386/trap.c:758
#12 0xc0370f70 in trap (frame=3D
      {tf_fs =3D 24, tf_es =3D 16, tf_ds =3D 16, tf_edi =3D -656704716, tf_=
esi =3D -2144570347, tf_ebp =3D -656704756, tf_isp =3D -656704828, tf_ebx =
=3D -994069960, tf_edx =3D -656704716, tf_ecx =3D 21, tf_eax =3D 0, tf_trap=
no =3D 12, tf_err =3D 0, tf_eip =3D -1071593581, tf_cs =3D 8, tf_eflags =3D=
 66050, tf_esp =3D -997247744, tf_ss =3D -2144570347}) at ../../../i386/i38=
6/trap.c:445
#13 0xc0361778 in calltrap () at {standard input}:98
#14 0xc020c058 in spec_vnoperate (ap=3D0x0) at ../../../fs/specfs/spec_vnop=
s.c:126
#15 0xc02ae671 in vn_ioctl (fp=3D0xc4244bf4, com=3D2150396949, data=3D0xd8d=
b7c48, active_cred=3D0xd8db7b34, td=3D0xc4264b60)
    at vnode_if.h:488
#16 0xc026f8b3 in ioctl (td=3D0xc4264b60, uap=3D0xd8db7d10) at file.h:227
#17 0xc0371aca in syscall (frame=3D
      {tf_fs =3D 47, tf_es =3D 47, tf_ds =3D 47, tf_edi =3D 24, tf_esi =3D =
134691616, tf_ebp =3D -1077944152, tf_isp =3D -656704140, tf_ebx =3D 121306=
2036, tf_edx =3D 24, tf_ecx =3D 24, tf_eax =3D 54, tf_trapno =3D 12, tf_err=
 =3D 2, tf_eip =3D 1212593395, tf_cs =3D 31, tf_eflags =3D 582, tf_esp =3D =
-1077944244, tf_ss =3D 47}) at ../../../i386/i386/trap.c:1033
#18 0xc03617cd in Xint0x80_syscall () at {standard input}:140
---Can't read userspace from dump, or kernel process---

(kgdb) l *0xc020c793
0xc020c793 is in spec_ioctl (../../../fs/specfs/spec_vnops.c:346).
341		int error;
342		struct cdevsw *dsw;
343=09
344		dev =3D ap->a_vp->v_rdev;
345		dsw =3D devsw(dev);
346		if (dsw->d_flags & D_NOGIANT) {
347			DROP_GIANT();
348			error =3D dsw->d_ioctl(dev, ap->a_command,
349			    ap->a_data, ap->a_fflag, ap->a_td);
350			PICKUP_GIANT();
(kgdb)

$FreeBSD: src/sys/fs/specfs/spec_vnops.c,v 1.186 2002/11/04 07:29:20 mckusi=
ck Exp $

Patric
--=20
The problem with troubleshooting is that trouble shoots back.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030219214404.GA35530>