Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Mar 2003 01:35:46 +0100
From:      Alexander Langer <alex@big.endian.de>
To:        current@FreeBSD.org
Subject:   panic: indiracct: botched params (including a sound page fault)
Message-ID:  <20030326003546.GA819@fump.kawo2.rwth-aachen.de>

next in thread | raw e-mail | index | archive | help
Hi!

With Terry's suggestion I turned ATA WC off this morning, and now, this
happened:  A crash when I pressed play in XMMS (this seems to be the
first page fault you see, and then, with fsck in the background:
yet another panic (UFS2 related?):

The crashdump is a bit odd, since I don't know why it actually paniced
(see the very end of this mail).

Script started on Wed Mar 26 01:20:39 2003
(kgdb) core-file vmcore.2
panic: indiracct: botched params
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address	=3D 0x24
fault code		=3D supervisor read, page not present
instruction pointer	=3D 0x8:0xc021cdbb
stack pointer	        =3D 0x10:0xd6828c40
frame pointer	        =3D 0x10:0xd6828c54
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 24 (irq5: pcm0)
trap number		=3D 12
panic: page fault

syncing disks, buffers remaining... 3668 3668 Copyright (c) 1992-2003 The F=
reeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 5.0-CURRENT #5: Tue Mar 18 16:04:55 CET 2003
    alex@fump.kawo2.rwth-aachen.de:/data/obj/usr/src/sys/ZEROGRAVITY
Preloaded elf kernel "/boot/kernel/kernel" at 0xc0682000.
Preloaded elf module "/boot/kernel/nvidia.ko" at 0xc06820b4.
Preloaded elf module "/boot/kernel/linux.ko" at 0xc0682160.
Preloaded elf module "/boot/kernel/acpi.ko" at 0xc068220c.
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 1477360975 Hz
CPU: AMD Athlon(TM) XP1700+ (1477.36-MHz 686-class CPU)
  Origin =3D "AuthenticAMD"  Id =3D 0x662  Stepping =3D 2
  Features=3D0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,=
CMOV,PAT,PSE36,MMX,FXSR,SSE>
  AMD Features=3D0xc0480000<MP,AMIE,DSP,3DNow!>
real memory  =3D 536788992 (511 MB)
avail memory =3D 514334720 (490 MB)
Allocating major#253 to "net"
Allocating major#252 to "pci"
Pentium Pro MTRR support enabled
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <ASUS   A7V266-E> on motherboard
    ACPI-0625: *** Info: GPE Block0 defined as GPE0 to GPE15
pcibios: BIOS version 2.10
Using $PIR table, 10 entries at 0xc00f13a0
acpi0: power button is handled as a fixed feature programming model.
Timecounter "ACPI-fast"  frequency 3579545 Hz
acpi_timer0: <24-bit timer at 3.579545MHz> port 0xe408-0xe40b on acpi0
acpi_cpu0: <CPU> port 0x530-0x537 on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
nvidia0: <GeForce2 MX/MX 400> mem 0xf0000000-0xf7ffffff,0xeb000000-0xebffff=
ff irq 10 at device 0.0 on pci1
pcm0: <CMedia CMI8738> port 0xd800-0xd8ff irq 5 at device 5.0 on pci0
sym0: <875> port 0xd400-0xd4ff mem 0xea000000-0xea000fff,0xea800000-0xea800=
0ff irq 9 at device 12.0 on pci0
sym0: No NVRAM, ID 7, Fast-20, SE, parity checking
xl0: <3Com 3c905B-TX Fast Etherlink XL> port 0xd000-0xd07f mem 0xe9800000-0=
xe980007f irq 10 at device 13.0 on pci0
xl0: Ethernet address: 00:50:04:0f:66:6f
miibus0: <MII bus> on xl0
xlphy0: <3Com internal media interface> on miibus0
xlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pci0: <display, VGA> at device 15.0 (no driver attached)
pci0: <multimedia, video> at device 16.0 (no driver attached)
pci0: <multimedia> at device 16.1 (no driver attached)
isab0: <PCI-ISA bridge> at device 17.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 8233 UDMA100 controller> port 0xb800-0xb80f at device 17.1 on=
 pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xb400-0xb41f irq 9 at device 17.2 =
on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
ulpt0: Hewlett-Packard DeskJet 930C, rev 1.00/1.00, addr 2, iclass 7/1
ulpt0: using bi-directional mode
uhci1: <VIA 83C572 USB controller> port 0xb000-0xb01f irq 9 at device 17.3 =
on pci0
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhub1: port error, restarting port 1
uhub1: port error, restarting port 2
uhci2: <VIA 83C572 USB controller> port 0xa800-0xa81f irq 9 at device 17.4 =
on pci0
usb2: <VIA 83C572 USB controller> on uhci2
usb2: USB revision 1.0
uhub2: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhub2: port error, restarting port 1
uhub2: port error, restarting port 2
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A
sio1 port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model MouseMan+, device ID 0
orm0: <Option ROM> at iomem 0xc0000-0xcc7ff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=3D0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 10.000 msec
ipfw2 initialized, divert enabled, rule-based forwarding enabled, default t=
o accept, logging disabled
DUMMYNET initialized (011031)
IPv6 packet filtering initialized, default to accept, logging disabled
acpi_cpu: throttling enabled, 16 steps (100% to 6.2%), currently 100.0%
Allocating major#251 to "devstat"
ad0: 114473MB <ST3120023A> [232581/16/63] at ata0-master UDMA100
ad2: 57259MB <MAXTOR 4K060H3> [116336/16/63] at ata1-master UDMA100
ad3: 57259MB <MAXTOR 4K060H3> [116336/16/63] at ata1-slave UDMA100
acd0: CD-R <CR-4801TE> at ata0-slave PIO3
Waiting 15 seconds for SCSI devices to settle
Mounting root from ufs:/dev/ad0s2a
cd1 at ata0 bus 0 target 1 lun 0
cd1: <MITSUMI CR-4801TE 2.03> Removable CD-ROM SCSI-0 device=20
cd1: 11.000MB/s transfers
cd1: cd present [359842 x 2352 byte records]
cd0 at sym0 bus 0 target 2 lun 0
cd0: <PIONEER DVD-ROM DVD-303 1.10> Removable CD-ROM SCSI-2 device=20
cd0: 20.000MB/s transfers (20.000MHz, offset 8)
cd0: Attempt to query device size failed: NOT READY, Medium not present
WARNING: / was not properly dismounted
WARNING: /usr was not properly dismounted
WARNING: / was not properly dismounted
WARNING: /data was not properly dismounted
/data: mount pending error: blocks 4 files 1
WARNING: /storage was not properly dismounted
WARNING: /fun was not properly dismounted
WARNING: /tmp was not properly dismounted
WARNING: /usr was not properly dismounted
WARNING: /var was not properly dismounted
link_elf: symbol cdevsw_add undefined
WARNING: driver "vmmon" used unreserved major device number 200
/dev/vmmon: Module vmmon: registered with major=3D200 minor=3D0 tag=3D$Name=
: build-570 $
/dev/vmmon: Module vmmon: initialized
xl0: promiscuous mode enabled
vmnet1: promiscuous mode enabled
bktr_mem: memory holder loaded
bktr0: <BrookTree 878> mem 0xed000000-0xed000fff irq 9 at device 16.0 on pc=
i0
bktr0: Hauppauge Model 61344 D421
bktr0: Detected a MSP3415D-B3 at 0x80
bktr0: Hauppauge WinCast/TV, Philips FR1216 PAL FM tuner, msp3400c stereo, =
remote control.
msp34xx: setvolume: mute=3Doff 0:0  v=3D0x00 b=3D0x00
msp3400: setmode: 0
xl0: transmission error: 90
xl0: tx underrun, increasing tx start threshold to 120 bytes
xl0: transmission error: 90
xl0: tx underrun, increasing tx start threshold to 180 bytes
vmnet1: promiscuous mode disabled
panic: indiracct: botched params

syncing disks, buffers remaining... 79 79 75 74 74 68 68 66 66 66 66 66 66 =
66 66 66 66 66 66 66 66 66 66 66 66 66 66=20
giving up on 63 buffers
Uptime: 1h40m54s
Dumping 511 MB
ata0: resetting devices ..
done
 16 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 /usr/src/sys/kern/kern_shutdown.c:239
239		dumping++;
(kgdb) up
#1  0xc02278bd in boot (howto=3D256) at /usr/src/sys/kern/kern_shutdown.c:3=
71
371			doadump();
(kgdb) up
#2  0xc0227bc3 in panic () at /usr/src/sys/kern/kern_shutdown.c:542
542		boot(bootopt);
(kgdb) up
#3  0xc031f997 in indiracct_ufs2 (snapvp=3D0xc47a85b4, cancelvp=3D0xc49cddb=
0,=20
    level=3D0, blkno=3D-2139222244046405632, lbn=3D-12, rlbn=3D12, remblks=
=3D8520,=20
    blksperindir=3D1, fs=3D0xd13ba000, acctfunc=3D0xc031fcd0 <fullacct_ufs2=
>,=20
    expungetype=3D1) at /usr/src/sys/ufs/ffs/ffs_snapshot.c:1172
1172			panic("indiracct: botched params");
(kgdb) bt
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:239
#1  0xc02278bd in boot (howto=3D256) at /usr/src/sys/kern/kern_shutdown.c:3=
71
#2  0xc0227bc3 in panic () at /usr/src/sys/kern/kern_shutdown.c:542
#3  0xc031f997 in indiracct_ufs2 (snapvp=3D0xc47a85b4, cancelvp=3D0xc49cddb=
0,=20
    level=3D0, blkno=3D-2139222244046405632, lbn=3D-12, rlbn=3D12, remblks=
=3D8520,=20
    blksperindir=3D1, fs=3D0xd13ba000, acctfunc=3D0xc031fcd0 <fullacct_ufs2=
>,=20
    expungetype=3D1) at /usr/src/sys/ufs/ffs/ffs_snapshot.c:1172
#4  0xc031f85f in expunge_ufs2 (snapvp=3D0xc47a85b4, cancelip=3D0xc49be7e0,=
=20
    fs=3D0xd13ba000, acctfunc=3D0xc031fcd0 <fullacct_ufs2>, expungetype=3D1)
    at /usr/src/sys/ufs/ffs/ffs_snapshot.c:1130
#5  0xc031d05c in ffs_snapshot (mp=3D0xc42fc000, snapfile=3D---Can't read u=
serspace from dump, or kernel process---

)
    at /usr/src/sys/ufs/ffs/ffs_snapshot.c:449
#6  0xc032c488 in ffs_mount (mp=3D0xc42fc000, path=3D0xc526f180 "/var", dat=
a=3D0x0,=20
    ndp=3D0xe24ffbe0, td=3D0xc4210e10) at /usr/src/sys/ufs/ffs/ffs_vfsops.c=
:311
#7  0xc027a158 in vfs_mount (td=3D0xc4210e10, fstype=3D0xc466ced0 "ffs",=20
    fspath=3D0xc526f180 "/var", fsflags=3D18944000, fsdata=3D0x0)
    at /usr/src/sys/kern/vfs_mount.c:1085
#8  0xc0279808 in mount (td=3D0x0, uap=3D0xe24ffd10)
    at /usr/src/sys/kern/vfs_mount.c:843
#9  0xc038cb1a in syscall (frame=3D
      {tf_fs =3D 47, tf_es =3D 47, tf_ds =3D 47, tf_edi =3D 0, tf_esi =3D -=
1077936704, tf_ebp =3D -1077936824, tf_isp =3D -498074252, tf_ebx =3D 13502=
2758, tf_edx =3D 19, tf_ecx =3D 135022592, tf_eax =3D 21, tf_trapno =3D 12,=
 tf_err =3D 2, tf_eip =3D 134570971, tf_cs =3D 31, tf_eflags =3D 514, tf_es=
p =3D -1077937204, tf_ss =3D 47})
    at /usr/src/sys/i386/i386/trap.c:1030
#10 0xc037bb8d in Xint0x80_syscall () at {standard input}:138
---Can't read userspace from dump, or kernel process---

(kgdb) down
#2  0xc0227bc3 in panic () at /usr/src/sys/kern/kern_shutdown.c:542
542		boot(bootopt);
(kgdb) up
#3  0xc031f997 in indiracct_ufs2 (snapvp=3D0xc47a85b4, cancelvp=3D0xc49cddb=
0,=20
    level=3D0, blkno=3D-2139222244046405632, lbn=3D-12, rlbn=3D12, remblks=
=3D8520,=20
    blksperindir=3D1, fs=3D0xd13ba000, acctfunc=3D0xc031fcd0 <fullacct_ufs2=
>,=20
    expungetype=3D1) at /usr/src/sys/ufs/ffs/ffs_snapshot.c:1172
1172			panic("indiracct: botched params");
(kgdb) list
1167		struct buf *bp;
1168=09
1169		if ((error =3D ufs_getlbns(cancelvp, rlbn, indirs, &num)) !=3D 0)
1170			return (error);
1171		if (lbn !=3D indirs[num - 1 - level].in_lbn || blkno =3D=3D 0 || num =
< 2)
1172			panic("indiracct: botched params");
1173		/*
1174		 * We have to expand bread here since it will deadlock looking
1175		 * up the block number for any blocks that are not in the cache.
1176		 */
(kgdb) print snapvp
$1 =3D (struct vnode *) 0xc47a85b4
(kgdb) print *snapvp
$2 =3D {v_interlock =3D {mtx_object =3D {lo_class =3D 0xc0405e00,=20
      lo_name =3D 0xc03c3823 "vnode interlock",=20
      lo_type =3D 0xc03c3823 "vnode interlock", lo_flags =3D 196608, lo_lis=
t =3D {
        tqe_next =3D 0x0, tqe_prev =3D 0x0}, lo_witness =3D 0x0}, mtx_lock =
=3D 4,=20
    mtx_recurse =3D 0, mtx_blocked =3D {tqh_first =3D 0x0, tqh_last =3D 0xc=
47a85d8},=20
    mtx_contested =3D {le_next =3D 0x0, le_prev =3D 0x0}}, v_iflag =3D 512,=
=20
  v_usecount =3D 1, v_numoutput =3D 0, v_vxproc =3D 0x0, v_holdcnt =3D 17,=
=20
  v_cleanblkhd =3D {tqh_first =3D 0xce60dd50, tqh_last =3D 0xce665d9c},=20
  v_cleanblkroot =3D 0xce5c0460, v_cleanbufcnt =3D 10, v_dirtyblkhd =3D {
    tqh_first =3D 0xce5b3eb8, tqh_last =3D 0xce66fd74},=20
  v_dirtyblkroot =3D 0xce66fcd0, v_dirtybufcnt =3D 7, v_vflag =3D 0,=20
  v_writecount =3D 0, v_object =3D 0x0, v_lastw =3D 0, v_cstart =3D 0, v_la=
sta =3D 0,=20
  v_clen =3D 0, v_un =3D {vu_mountedhere =3D 0x0, vu_socket =3D 0x0, vu_spe=
c =3D {
      vu_cdev =3D 0x0, vu_specnext =3D {sle_next =3D 0x0}}, vu_fifoinfo =3D=
 0x0},=20
  v_freelist =3D {tqe_next =3D 0xc4d8dc8c, tqe_prev =3D 0xc043cc74}, v_nmnt=
vnodes =3D {
    tqe_next =3D 0x0, tqe_prev =3D 0xc4c121c4}, v_synclist =3D {le_next =3D=
 0x0,=20
    le_prev =3D 0xc40792d8}, v_type =3D VREG, v_tag =3D 0xc03c6783 "ufs",=
=20
  v_data =3D 0xc4d95f30, v_lock =3D {lk_interlock =3D 0xc043a1c8,=20
    lk_flags =3D 16778304, lk_sharecount =3D 0, lk_waitcount =3D 0,=20
    lk_exclusivecount =3D 1, lk_prio =3D 80, lk_wmesg =3D 0xc03c6783 "ufs",=
=20
    lk_timo =3D 6, lk_lockholder =3D 0xc4210e10, lk_newlock =3D 0x0},=20
  v_vnlock =3D 0xc47a8670, v_op =3D 0xc4071a00, v_mount =3D 0xc42fc000,=20
  v_cache_src =3D {lh_first =3D 0x0}, v_cache_dst =3D {tqh_first =3D 0x0,=
=20
    tqh_last =3D 0xc47a86a4}, v_id =3D 7614422, v_dd =3D 0xc47a85b4, v_ddid=
 =3D 0,=20
  v_pollinfo =3D 0x0, v_label =3D {l_flags =3D 0, l_perpolicy =3D {{l_ptr =
=3D 0x0,=20
        l_long =3D 0}, {l_ptr =3D 0x0, l_long =3D 0}, {l_ptr =3D 0x0, l_lon=
g =3D 0}, {
        l_ptr =3D 0x0, l_long =3D 0}}}, v_cachedfs =3D 1045, v_cachedid =3D=
 4294967295}
(kgdb) print *cancelvp
$3 =3D {v_interlock =3D {mtx_object =3D {lo_class =3D 0xc0405e00,=20
      lo_name =3D 0xc03c3823 "vnode interlock",=20
      lo_type =3D 0xc03c3823 "vnode interlock", lo_flags =3D 196608, lo_lis=
t =3D {
        tqe_next =3D 0x0, tqe_prev =3D 0x0}, lo_witness =3D 0x0}, mtx_lock =
=3D 4,=20
    mtx_recurse =3D 0, mtx_blocked =3D {tqh_first =3D 0x0, tqh_last =3D 0xc=
49cddd4},=20
    mtx_contested =3D {le_next =3D 0x0, le_prev =3D 0x0}}, v_iflag =3D 1024=
,=20
  v_usecount =3D 28, v_numoutput =3D 0, v_vxproc =3D 0x0, v_holdcnt =3D 0,=
=20
  v_cleanblkhd =3D {tqh_first =3D 0x0, tqh_last =3D 0xc49cddf8},=20
  v_cleanblkroot =3D 0x0, v_cleanbufcnt =3D 0, v_dirtyblkhd =3D {tqh_first =
=3D 0x0,=20
    tqh_last =3D 0xc49cde08}, v_dirtyblkroot =3D 0x0, v_dirtybufcnt =3D 0,=
=20
  v_vflag =3D 12, v_writecount =3D 1, v_object =3D 0xc48e1688, v_lastw =3D =
0,=20
  v_cstart =3D 0, v_lasta =3D 0, v_clen =3D 0, v_un =3D {vu_mountedhere =3D=
 0x0,=20
    vu_socket =3D 0x0, vu_spec =3D {vu_cdev =3D 0x0, vu_specnext =3D {
        sle_next =3D 0x0}}, vu_fifoinfo =3D 0x0}, v_freelist =3D {tqe_next =
=3D 0x0,=20
    tqe_prev =3D 0x0}, v_nmntvnodes =3D {tqe_next =3D 0xc4d17c8c,=20
    tqe_prev =3D 0xc48c7d2c}, v_synclist =3D {le_next =3D 0xc4a3b5b4,=20
    le_prev =3D 0xc4afdd34}, v_type =3D VREG, v_tag =3D 0xc03c6783 "ufs",=
=20
  v_data =3D 0xc49be7e0, v_lock =3D {lk_interlock =3D 0xc043a7ac,=20
    lk_flags =3D 16778304, lk_sharecount =3D 0, lk_waitcount =3D 0,=20
    lk_exclusivecount =3D 1, lk_prio =3D 80, lk_wmesg =3D 0xc03c6783 "ufs",=
=20
    lk_timo =3D 6, lk_lockholder =3D 0xc4210e10, lk_newlock =3D 0x0},=20
  v_vnlock =3D 0xc49cde6c, v_op =3D 0xc4071a00, v_mount =3D 0xc42fc000,=20
  v_cache_src =3D {lh_first =3D 0x0}, v_cache_dst =3D {tqh_first =3D 0x0,=
=20
    tqh_last =3D 0xc49cdea0}, v_id =3D 4388, v_dd =3D 0xc49cddb0, v_ddid =
=3D 0,=20
  v_pollinfo =3D 0x0, v_label =3D {l_flags =3D 0, l_perpolicy =3D {{l_ptr =
=3D 0x0,=20
        l_long =3D 0}, {l_ptr =3D 0x0, l_long =3D 0}, {l_ptr =3D 0x0, l_lon=
g =3D 0}, {
        l_ptr =3D 0x0, l_long =3D 0}}}, v_cachedfs =3D 1044, v_cachedid =3D=
 16647}
(kgdb) print *fs
$4 =3D {fs_firstfield =3D 0, fs_unused_1 =3D 0, fs_sblkno =3D 40, fs_cblkno=
 =3D 48,=20
  fs_iblkno =3D 56, fs_dblkno =3D 1088, fs_old_cgoffset =3D 0, fs_old_cgmas=
k =3D 0,=20
  fs_old_time =3D 0, fs_old_size =3D 0, fs_old_dsize =3D 0, fs_ncg =3D 4,=
=20
  fs_bsize =3D 16384, fs_fsize =3D 2048, fs_frag =3D 8, fs_minfree =3D 8,=
=20
  fs_old_rotdelay =3D 0, fs_old_rps =3D 0, fs_bmask =3D -16384, fs_fmask =
=3D -2048,=20
  fs_bshift =3D 14, fs_fshift =3D 11, fs_maxcontig =3D 8, fs_maxbpg =3D 204=
8,=20
  fs_fragshift =3D 3, fs_fsbtodb =3D 2, fs_sbsize =3D 2048, fs_spare1 =3D {=
0, 0},=20
  fs_nindir =3D 2048, fs_inopb =3D 64, fs_old_nspf =3D 0, fs_optim =3D 0,=
=20
  fs_old_npsect =3D 0, fs_old_interleave =3D 0, fs_old_trackskew =3D 0, fs_=
id =3D {
    1045068191, 750210778}, fs_old_csaddr =3D 0, fs_cssize =3D 2048,=20
  fs_cgsize =3D 6144, fs_spare2 =3D 0, fs_old_nsect =3D 0, fs_old_spc =3D 0=
,=20
  fs_old_ncyl =3D 0, fs_old_cpg =3D 0, fs_ipg =3D 8256, fs_fpg =3D 32776,=
=20
  fs_old_cstotal =3D {cs_ndir =3D 0, cs_nbfree =3D 0, cs_nifree =3D 0, cs_n=
ffree =3D 0},=20
  fs_fmod =3D 1 '\001', fs_clean =3D 0 '\0', fs_ronly =3D 0 '\0',=20
  fs_old_flags =3D -128 '\200', fs_fsmnt =3D "/var", '\0' <repeats 463 time=
s>,=20
  fs_volname =3D '\0' <repeats 31 times>, fs_swuid =3D 0, fs_pad =3D 0,=20
  fs_cgrotor =3D 0, fs_ocsp =3D {0x0 <repeats 28 times>},=20
  fs_contigdirs =3D 0xc4193810 "", fs_csp =3D 0xc53fa000,=20
  fs_maxcluster =3D 0xc53fe000, fs_active =3D 0xc466cd70, fs_old_cpc =3D 0,=
=20
  fs_maxbsize =3D 16384, fs_sparecon64 =3D {0 <repeats 17 times>},=20
  fs_sblockloc =3D 65536, fs_cstotal =3D {cs_ndir =3D 378, cs_nbfree =3D 26=
82,=20
    cs_nifree =3D 30813, cs_nffree =3D 969, cs_numclusters =3D 0, cs_spare =
=3D {0, 0,=20
      0}}, fs_time =3D 1048637187, fs_size =3D 131072, fs_dsize =3D 126839,=
=20
  fs_csaddr =3D 1088, fs_pendingblocks =3D 0, fs_pendinginodes =3D 0, fs_sn=
apinum =3D {
    0 <repeats 20 times>}, fs_avgfilesize =3D 16384, fs_avgfpdir =3D 64,=20
  fs_save_cgsize =3D 0, fs_sparecon32 =3D {0 <repeats 26 times>}, fs_flags =
=3D 3,=20
  fs_contigsumsize =3D 8, fs_maxsymlinklen =3D 120, fs_old_inodefmt =3D 0,=
=20
  fs_maxfilesize =3D 140806241583103, fs_qbmask =3D 16383, fs_qfmask =3D 20=
47,=20
  fs_state =3D 0, fs_old_postblformat =3D 0, fs_old_nrpos =3D 0, fs_spare5 =
=3D {0, 0},=20
  fs_magic =3D 424935705}
(kgdb) print *actfunc=08 =08=08 =08=08 =08=08 =08=08 =08ctfunc
$5 =3D {int (struct vnode *, ufs2_daddr_t *, ufs2_daddr_t *, struct fs *,=
=20
    ufs_lbn_t, int)} 0xc031fcd0 <fullacct_ufs2>
(kgdb) list
1167		struct buf *bp;
1168=09
1169		if ((error =3D ufs_getlbns(cancelvp, rlbn, indirs, &num)) !=3D 0)
1170			return (error);
1171		if (lbn !=3D indirs[num - 1 - level].in_lbn || blkno =3D=3D 0 || num =
< 2)
1172			panic("indiracct: botched params");
1173		/*
1174		 * We have to expand bread here since it will deadlock looking
1175		 * up the block number for any blocks that are not in the cache.
1176		 */
(kgdb) print lbn
$6 =3D -12
(kgdb) prin indirs
Ambiguous command "prin indirs": print, printf.
(kgdb) print indirs
$7 =3D {{in_lbn =3D -12, in_off =3D 0, in_exists =3D 0}, {in_lbn =3D -12, i=
n_off =3D 0,=20
    in_exists =3D 0}, {in_lbn =3D -1, in_off =3D 1, in_exists =3D -49807611=
6}, {
    in_lbn =3D -4288968683751867066, in_off =3D -996314160,=20
    in_exists =3D -996314136}, {in_lbn =3D -784621568, in_off =3D -1, in_ex=
ists =3D 1}}
(kgdb) print num
$8 =3D 2
(kgdb) print level
$9 =3D 0
(kgdb) print indirs[num - 1 - level].in_lbn
$10 =3D -12
(kgdb) print blkno
$11 =3D -2139222244046405632
(kgdb) quit

The most interesting part is this:

(kgdb) list
1167		struct buf *bp;
1168=09
1169		if ((error =3D ufs_getlbns(cancelvp, rlbn, indirs, &num)) !=3D 0)
1170			return (error);
1171		if (lbn !=3D indirs[num - 1 - level].in_lbn || blkno =3D=3D 0 || num =
< 2)
1172			panic("indiracct: botched params");
1173		/*
1174		 * We have to expand bread here since it will deadlock looking
1175		 * up the block number for any blocks that are not in the cache.
1176		 */
(kgdb) print lbn
$1 =3D -12
(kgdb) print indirs[num - 1 - level].in_lbn
$2 =3D -12
(kgdb) print blkno
$3 =3D -2139222244046405632
(kgdb) print num
$4 =3D 2
(kgdb) quit

so, neither is lbn !=3D the indirs[...].in_lbn (both are -12), nor is
bklno =3D=3D 0, nor is num < 2.  And it still paniced?  HUH?

Where's the error? :)

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?20030326003546.GA819>