kern/86550: kernel (w/ UFS_EXTATTR* and UFS_ACL) paniced by mount

mitrohin a.s. swp at uni-altai.ru
Sun Sep 25 03:00:39 PDT 2005


>Number:         86550
>Category:       kern
>Synopsis:       kernel (w/ UFS_EXTATTR* and UFS_ACL) paniced by mount
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Sep 25 10:00:34 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     mitrohin a.s.
>Release:        FreeBSD 6.0-BETA5 i386
>Organization:
Barnaul State Pedagogical University
>Environment:
System: FreeBSD swp.bspu.secna.ru 6.0-BETA5 FreeBSD 6.0-BETA5 #0: Thu Sep 22 17:15:06 NOVST 2005 root@:/usr/src/sys/i386/compile/ch_smpkernel_big i386


>Description:
	my freebsd paniced by mount /home. i have mtree generated file from
this partition mounted read-only. if recreate hierarhy to new (created from
scratch) partition and umount it, then i get panic on next mount. 

i remove this options from kernel config and have no panic now.
option UFS_EXTATTR
option UFS_EXTATTR_AUTOSTART
option UFS_ACL



/home/swp > tunefs -p /dev/ad3s2g
tunefs: ACLs: (-a)                                         disabled
tunefs: MAC multilabel: (-l)                               disabled
tunefs: soft updates: (-n)                                 enabled
tunefs: maximum blocks per file in a cylinder group: (-e)  2048
tunefs: average file size: (-f)                            16384
tunefs: average number of files in a directory: (-s)       64
tunefs: minimum percentage of free space: (-m)             8%
tunefs: optimization preference: (-o)                      time
tunefs: volume label: (-L)                                 



dmesg:
Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 6.0-BETA5 #0: Sun Sep 25 13:55:49 NOVST 2005
    swp at swp.bspu.secna.ru:/usr/src/sys/i386/compile/ch_smpkernelpanic_big
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 2.80GHz (2793.01-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf33  Stepping = 3
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x41d<SSE3,RSVD2,MON,DS_CPL,CNTX-ID>
  Hyperthreading: 2 logical CPUs
real memory  = 534970368 (510 MB)
avail memory = 514215936 (490 MB)
ACPI APIC Table: <INTEL  D865PERL>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0 <Version 2.0> irqs 0-23 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <INTEL D865PERL> on motherboard
acpi0: Power Button (fixed)
pci_link0: <ACPI PCI Link LNKA> irq 11 on acpi0
pci_link1: <ACPI PCI Link LNKB> irq 3 on acpi0
pci_link2: <ACPI PCI Link LNKC> irq 9 on acpi0
pci_link3: <ACPI PCI Link LNKD> irq 5 on acpi0
pci_link4: <ACPI PCI Link LNKE> irq 0 on acpi0
pci_link5: <ACPI PCI Link LNKF> irq 0 on acpi0
pci_link6: <ACPI PCI Link LNKG> irq 0 on acpi0
pci_link7: <ACPI PCI Link LNKH> irq 10 on acpi0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
cpu1: <ACPI CPU> on acpi0
acpi_throttle1: <ACPI CPU Throttling> on cpu1
acpi_throttle1: failed to attach P_CNT
device_attach: acpi_throttle1 attach returned 6
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <Intel 82865 host to AGP bridge> mem 0xf0000000-0xf3ffffff at device 0.0 on pci0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
pci1: <display> at device 0.1 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> at device 3.0 on pci0
pci2: <ACPI PCI bus> on pcib2
em0: <Intel(R) PRO/1000 Network Connection, Version - 2.1.7> port 0xbc00-0xbc1f mem 0xff600000-0xff61ffff irq 18 at device 1.0 on pci2
em0: Ethernet address: 00:0c:f1:d0:34:5e
em0:  Speed:N/A  Duplex:N/A
uhci0: <Intel 82801EB (ICH5) USB controller USB-A> port 0xe000-0xe01f irq 16 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82801EB (ICH5) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801EB (ICH5) USB controller USB-B> port 0xe400-0xe41f irq 19 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <Intel 82801EB (ICH5) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <Intel 82801EB (ICH5) USB controller USB-C> port 0xe800-0xe81f irq 18 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <Intel 82801EB (ICH5) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3: <Intel 82801EB (ICH5) USB controller USB-D> port 0xec00-0xec1f irq 16 at device 29.3 on pci0
uhci3: [GIANT-LOCKED]
usb3: <Intel 82801EB (ICH5) USB controller USB-D> on uhci3
usb3: USB revision 1.0
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xffa00000-0xffa003ff irq 23 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <EHCI (generic) USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
pcib3: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci3: <ACPI PCI bus> on pcib3
fxp0: <Intel 82559 Pro/100 Ethernet> port 0xcc00-0xcc3f mem 0xff900000-0xff900fff,0xff700000-0xff7fffff irq 17 at device 2.0 on pci3
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:03:47:05:6f:5b
fwohci0: <Lucent FW322/323> mem 0xff901000-0xff901fff irq 17 at device 7.0 on pci3
fwohci0: OHCI version 1.0 (ROM=0)
fwohci0: No. of Isochronous channels is 8.
fwohci0: EUI64 00:0c:f1:00:00:d0:34:5e
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
fwohci0: Initiate bus reset
fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
firewire0: bus manager 0 (me)
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH5 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 31.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
pcm0: <Intel ICH5 (82801EB)> mem 0xffa00400-0xffa005ff,0xffa00800-0xffa008ff irq 17 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Analog Devices AD1985 AC97 Codec>
acpi_button0: <Sleep Button> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Generic PS/2 mouse, device ID 0
speaker0: <PC speaker> port 0x61 on acpi0
fdc0: <floppy drive controller> port 0x3f0-0x3f1,0x3f2-0x3f3,0x3f4-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xccfff,0xcd000-0xce7ff,0xce800-0xcf7ff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <10 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
fb0 at vga0
Timecounters tick every 1.000 msec
Fast IPsec: Initialized Security Association Processing.
ad0: 76319MB <Seagate ST380011A 3.06> at ata0-master UDMA100
acd0: CDRW <ATAPI COMBO 48X24X16X/VER E.NA> at ata1-master UDMA33
ad3: DMA limited to UDMA33, controller found non-ATA66 cable
ad3: 78533MB <IC35L080AVVA07 0 VA4OA52A> at ata1-slave UDMA33
SMP: AP CPU #1 Launched!
Trying to mount root from ufs:/dev/ad0s1a
WARNING: /var was not properly dismounted
WARNING: /usr was not properly dismounted
WARNING: /home was not properly dismounted
WARNING: attempt to net_add_domain(netgraph) after domainfinalize()
WARNING: /home was not properly dismounted
/1: bad dir ino 2 at offset 16384: mangled entry
panic: ufs_dirbad: bad dir
cpuid = 0
KDB: stack backtrace:
kdb_backtrace(c06b4ce4,0,c06ae37e,d985272c,5) at 0xc05070e2 = kdb_backtrace+0x2f
panic(c06ae37e,c1c58a00,2,4000,c06ae338) at 0xc04e9841 = panic+0x128
ufs_dirbad(c2614ad4,4000,c06ae338,0,d98527a0) at 0xc05e6ecc = ufs_dirbad+0x4e
ufs_lookup(d9852874,c253e400,400,d9852860,0) at 0xc05e6665 = ufs_lookup+0x3a5
ufs_extattr_lookup(c25ebaa0,2,c06ae154,d98528b4,c23a9900) at 0xc05e4870 = ufs_extattr_lookup+0x118
ufs_extattr_autostart(c1c58800,c23a9900,c25ae800,c1ea8500,c1ea8500) at 0xc05e4cd3 = ufs_extattr_autostart+0x74
ffs_mountfs(c25ebbb0,c1c58800,c23a9900,55053081,47a0fa5b) at 0xc05db4f2 = ffs_mountfs+0x955
ffs_mount(c1c58800,c23a9900,c1d4d620,c23a9900,d9852aa0) at 0xc05da244 = ffs_mount+0xb94
vfs_domount(c23a9900,c1d4d310,c1d4d620,0,c1d4d5e0) at 0xc054732c = vfs_domount+0x712
vfs_donmount(c23a9900,0,d9852bec,c1d8ee80,e) at 0xc0546997 = vfs_donmount+0x12e
kernel_mount(c1d4d190,0,d9852c30,6c,bfbfed86) at 0xc05496d4 = kernel_mount+0x46
ffs_cmount(c1d4d190,bfbfdfc0,0,c23a9900,0) at 0xc05da311 = ffs_cmount+0x85
mount(c23a9900,d9852d04,10,c23a9900,804c000) at 0xc0546c0b = mount+0x218
syscall(3b,3b,3b,bfbfdfbc,bfbfea54) at 0xc06504f5 = syscall+0x349
Xint0x80_syscall() at 0xc063b6ef = Xint0x80_syscall+0x1f
--- syscall (21, FreeBSD ELF32, mount), eip = 0x280c6adf, esp = 0xbfbfdf9c, ebp = 0xbfbfe048 ---
KDB: enter: panic
panic: from debugger
cpuid = 0
Uptime: 34m3s
Dumping 509 MB (2 chunks)
  chunk 0: 1MB (159 pages) ... ok
  chunk 1: 510MB (130352 pages) 494 478 462 446 430 414 398 382 366 350 334 318 302 286 270 254 238 222 206 190 174 158 142 126 110 94 78 62 46 30 14 ... ok

Dump complete



kernel config:
ident		ch_smpkernelpanic_big
maxusers	128
options 	PQ_CACHESIZE=1024
options 	INCLUDE_CONFIG_FILE     # Include this file in kernel
options 	SCHED_4BSD
options 	SMP			# Symmetric MultiProcessor Kernel
options 	NO_ADAPTIVE_MUTEXES
options		PREEMPTION
options 	COMPAT_43
options 	KDB
options 	KDB_TRACE
options 	DDB
options 	DDB_NUMSYM
options 	GDB
options 	KTRACE			#kernel tracing
options 	INET			#Internet communications protocols
options 	IPSEC_FILTERGIF		#filter ipsec packets from a tunnel
options 	FAST_IPSEC		#new IPsec (cannot define w/ IPSEC)
device          ether                   #Generic Ethernet
device		loop			#Network loopback device
device		bpf			#Berkeley packet filter
options 	MROUTING		# Multicast routing
options 	PIM			# Protocol Independent Multicast
options 	TCP_SIGNATURE		#include support for RFC 2385
options 	ZERO_COPY_SOCKETS
options 	FFS			#Fast filesystem
options 	SOFTUPDATES
options 	UFS_EXTATTR
options 	UFS_EXTATTR_AUTOSTART
options 	UFS_ACL
options 	UFS_DIRHASH
options 	QUOTA			#enable disk quotas
device		random
device		mem
options 	_KPOSIX_PRIORITY_SCHEDULING
options 	P1003_1B_SEMAPHORES
options 	HZ=1000
options 	PPS_SYNC
device		pty		#Pseudo ttys
options 	TTYHOG=16386
device		atkbdc
device		atkbd
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
device		psm
device		vga
device		splash			# Splash screen and screen saver support
device		sc
options 	MAXCONS=10		# number of virtual consoles
options 	SC_HISTORY_SIZE=1024	# number of history buffer lines
options 	SC_MOUSE_CHAR=0x3	# char code for text mode mouse cursor
options 	SC_TWOBUTTON_MOUSE
device		ata
device		atadisk		# ATA disk drives
device		atapicd		# ATAPI CDROM drives
options 	ATA_STATIC_ID
device		fdc
device		uart
device		miibus
device		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
device		em
options 	PPC_PROBE_CHIPSET # Enable chipset specific detection
device		uhci
device		ehci
device		usb
device		firewire	# FireWire bus code
device		crypto		# core crypto support
options 	PANIC_REBOOT_WAIT_TIME=64
options 	DIRECTIO
machine		i386
device		apic			# I/O apic
options        IPI_PREEMPTION
cpu		I686_CPU		# aka Pentium Pro(tm)
options 	CPU_FASTER_5X86_FPU
options 	NO_F00F_HACK
device		isa		# Required by npx(4)
options 	AUTO_EOI_1
device		pci
device		agp
device		npx
device		pmtimer			# Adjust system timer at wakeup time
options 	FB_INSTALL_CDEV		# install a CDEV entry in /dev
device		io



i386/compile/ch_smpkernelpanic_big > kgdb kernel.debug /var/crash/vmcore.0
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 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 conditions.
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-marcel-freebsd".

Unread portion of the kernel message buffer:


#0  doadump () at pcpu.h:165
165             __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) bt
#0  doadump () at pcpu.h:165
#1  0xc04e9525 in boot (howto=260) at ../../../kern/kern_shutdown.c:399
#2  0xc04e9900 in panic (fmt=0xc0694ea5 "from debugger")
    at ../../../kern/kern_shutdown.c:555
#3  0xc0433af3 in db_panic (addr=-1068469911, have_addr=0, count=-1,
    modif=0xd985255c "") at ../../../ddb/db_command.c:435
#4  0xc0433a6c in db_command (last_cmdp=0xc06e8b24, cmd_table=0x0,
    aux_cmd_tablep=0xc06b8890, aux_cmd_tablep_end=0xc06b8894)
    at ../../../ddb/db_command.c:349
#5  0xc0433b5d in db_command_loop () at ../../../ddb/db_command.c:455
#6  0xc0435a2d in db_trap (type=3, code=0) at ../../../ddb/db_main.c:221
#7  0xc0507418 in kdb_trap (type=0, code=0, tf=0xd98526ac)
    at ../../../kern/subr_kdb.c:473
#8  0xc064fae2 in trap (frame=
      {tf_fs = 8, tf_es = 40, tf_ds = -645595096, tf_edi = 256, tf_esi = 1, tf_ebp = -645585164, tf_isp = -645585192, tf_ebx = -645585108, tf_edx = 1, tf_ecx = -1056755712, tf_eax = 18, tf_trapno = 3, tf_err = 0, tf_eip = -1068469911, tf_cs = 32, tf_eflags = 524946, tf_esp = -1066785498, tf_ss = -1066791738})
    at ../../../i386/i386/trap.c:601
#9  0xc063b69a in calltrap () at ../../../i386/i386/exception.s:139
#10 0xc0507169 in kdb_enter (msg=0x12 <Address 0x12 out of bounds>)
    at cpufunc.h:60
#11 0xc04e9857 in panic (fmt=0xc06ae37e "ufs_dirbad: bad dir")
    at ../../../kern/kern_shutdown.c:539
#12 0xc05e6ecc in ufs_dirbad (ip=0x1, offset=18,
    how=0x12 <Address 0x12 out of bounds>) at ../../../ufs/ufs/ufs_lookup.c:598
#13 0xc05e6665 in ufs_lookup (ap=0xd9852874)
    at ../../../ufs/ufs/ufs_lookup.c:286
#14 0xc05e4870 in ufs_extattr_lookup (start_dvp=0xc25ebaa0, lockparent=2,
    dirname=0x12 <Address 0x12 out of bounds>, vp=0x12, td=0xc23a9900)
    at ../../../ufs/ufs/ufs_extattr.c:273
#15 0xc05e4cd3 in ufs_extattr_autostart (mp=0xc1c58800, td=0xc23a9900)
    at ../../../ufs/ufs/ufs_extattr.c:462
#16 0xc05db4f2 in ffs_mountfs (devvp=0xc25ebbb0, mp=0xc1c58800, td=0xc23a9900)
    at ../../../ufs/ffs/ffs_vfsops.c:781
#17 0xc05da244 in ffs_mount (mp=0xc1c58800, td=0xc23a9900)
    at ../../../ufs/ffs/ffs_vfsops.c:357
#18 0xc054732c in vfs_domount (td=0xc23a9900,
    fstype=0xc06d9d40 " \001f\031ufs", fspath=0xc1d4d620 "/1", fsflags=0,
    fsdata=0xc1d4d5e0) at ../../../kern/vfs_mount.c:739
#19 0xc0546997 in vfs_donmount (td=0x12, fsflags=18, fsoptions=0x12)
    at ../../../kern/vfs_mount.c:503
#20 0xc05496d4 in kernel_mount (ma=0xc1d4d190, flags=18) at pcpu.h:162
#21 0xc05da311 in ffs_cmount (ma=0xc1d4d190, data=0xc1033000, flags=18,
    td=0xc23a9900) at ../../../ufs/ffs/ffs_vfsops.c:384
#22 0xc0546c0b in mount (td=0xc23a9900, uap=0xd9852d04)
    at ../../../kern/vfs_mount.c:566
#23 0xc06504f5 in syscall (frame=
      {tf_fs = 59, tf_es = 59, tf_ds = 59, tf_edi = -1077944388, tf_esi = -1077941676, tf_ebp = -1077944248, tf_isp = -645583516, tf_ebx = -1077944208, tf_edx = -1, tf_ecx = -1077940858, tf_eax = 21, tf_trapno = 12, tf_err = 2, tf_eip = 671902431, tf_cs = 51, tf_eflags = 582, tf_esp = -1077944420, tf_ss = 59})
    at ../../../i386/i386/trap.c:986
#24 0xc063b6ef in Xint0x80_syscall () at ../../../i386/i386/exception.s:200
#25 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb) up 12
#12 0xc05e6ecc in ufs_dirbad (ip=0x1, offset=18,
    how=0x12 <Address 0x12 out of bounds>) at ../../../ufs/ufs/ufs_lookup.c:598
598                     panic("ufs_dirbad: bad dir");
(kgdb) list
593
594             mp = ITOV(ip)->v_mount;
595             (void)printf("%s: bad dir ino %lu at offset %ld: %s\n",
596                 mp->mnt_stat.f_mntonname, (u_long)ip->i_number, (long)offset, how);
597             if ((mp->mnt_flag & MNT_RDONLY) == 0)
598                     panic("ufs_dirbad: bad dir");
599     }
600
601     /*
602      * Do consistency checking on a directory entry:
(kgdb) up
#13 0xc05e6665 in ufs_lookup (ap=0xd9852874)
    at ../../../ufs/ufs/ufs_lookup.c:286
286                             ufs_dirbad(dp, dp->i_offset, "mangled entry");
(kgdb) list
281                     if (ep->d_reclen == 0 || ep->d_reclen >
282                         DIRBLKSIZ - (entryoffsetinblock & (DIRBLKSIZ - 1)) ||
283                         (dirchk && ufs_dirbadentry(vdp, ep, entryoffsetinblock))) {
284                             int i;
285
286                             ufs_dirbad(dp, dp->i_offset, "mangled entry");
287                             i = DIRBLKSIZ - (entryoffsetinblock & (DIRBLKSIZ - 1));
288                             dp->i_offset += i;
289                             entryoffsetinblock += i;
290                             continue;
(kgdb) p ep
$1 = (struct direct *) 0xce574000
(kgdb) p *ep
$2 = {d_ino = 0, d_reclen = 0, d_type = 0 '\0', d_namlen = 0 '\0',
  d_name = '\0' <repeats 255 times>}
(kgdb) l 270
265                      * If still looking for a slot, and at a DIRBLKSIZE
266                      * boundary, have to start looking for free space again.
267                      */
268                     if (slotstatus == NONE &&
269                         (entryoffsetinblock & (DIRBLKSIZ - 1)) == 0) {
270                             slotoffset = -1;
271                             slotfreespace = 0;
272                     }
273                     /*
274                      * Get pointer to next entry.
(kgdb) l
275                      * Full validation checks are slow, so we only check
276                      * enough to insure forward progress through the
277                      * directory. Complete checks can be run by patching
278                      * "dirchk" to be true.
279                      */
280                     ep = (struct direct *)((char *)bp->b_data + entryoffsetinblock);
281                     if (ep->d_reclen == 0 || ep->d_reclen >
282                         DIRBLKSIZ - (entryoffsetinblock & (DIRBLKSIZ - 1)) ||
283                         (dirchk && ufs_dirbadentry(vdp, ep, entryoffsetinblock))) {
284                             int i;
(kgdb) p bp
$3 = (struct buf *) 0xcbea19c8
(kgdb) p *bp
$4 = {b_bufobj = 0xc25ebb60, b_bcount = 16384, b_caller1 = 0x0, 
  b_data = 0xce570000 "\002", b_error = 0, b_iocmd = 1 '\001', 
  b_ioflags = 2 '\002', b_iooffset = 6373376, b_resid = 0, b_iodone = 0, 
  b_blkno = 12448, b_offset = 0, b_bobufs = {tqe_next = 0x0, 
    tqe_prev = 0xc25ebb64}, b_left = 0x0, b_right = 0x0, b_vflags = 0, 
  b_freelist = {tqe_next = 0x0, tqe_prev = 0xcbea3644}, b_qindex = 1, 
  b_flags = 2147483680, b_xflags = 2 '\002', b_lock = {
    lk_interlock = 0xc06ee14c, lk_flags = 262144, lk_sharecount = 0, 
    lk_waitcount = 0, lk_exclusivecount = 1, lk_prio = 80, 
    lk_wmesg = 0xc06a44d3 "getblk", lk_timo = 0, lk_lockholder = 0xc23a9900, 
    lk_newlock = 0x0}, b_bufsize = 16384, b_runningbufspace = 0, 
  b_kvabase = 0xce570000 "\002", b_kvasize = 16384, b_lblkno = 0, 
  b_vp = 0xc25ebaa0, b_dirtyoff = 0, b_dirtyend = 0, b_rcred = 0x0, 
  b_wcred = 0x0, b_saveaddr = 0xce570000, b_pager = {pg_reqpage = 0}, 
  b_cluster = {cluster_head = {tqh_first = 0xcbea1880, tqh_last = 0xcbea1bc8}, 
    cluster_entry = {tqe_next = 0xcbea1880, tqe_prev = 0xcbea1bc8}}, 
  b_pages = {0xc119d780, 0xc10d77c8, 0xc10bc810, 0xc188a858, 
    0x0 <repeats 28 times>}, b_npages = 4, b_dep = {lh_first = 0x0}}
(kgdb) p entryoffsetinblock
$5 = 16384



what can i do to help?


>How-To-Repeat:
1. get freebsd 6.0-BETA4 or BETA5.
2. make kernel with UFS_EXTATTR, UFS_EXTATTR_AUTOSTART, UFS_ACL
3. create new partition
4. get https://bspu.ab.ru/~swp/home.mtree.bz2 and create directories
   on new partition
5. umount partition
6. mount partition

	panic here

>Fix:
remove options UFS_EXTATTR, UFS_EXTATTR_AUTOSTART, UFS_ACL from kernel.
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list