4.11R panics
Doug White
dwhite at gumbysoft.com
Fri Apr 8 10:14:17 PDT 2005
On Wed, 6 Apr 2005, Kirill Ponomarew wrote:
> Fatal trap 12: page fault while in kernel mode
> fault virtual address = 0x20202020
Hm, something ran into a bunch of ASCII spaces..
Can you jump to frame #6 and print *kbp? It appears the kernel malloc
bucket list is corrupted, so I'm curious just how badly that struct is
spammed.
> fault code = supervisor read, page not present
> instruction pointer = 0x8:0xc0193533
> stack pointer = 0x10:0xef9fbc88
> frame pointer = 0x10:0xef9fbca4
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, def32 1, gran 1
> processor eflags = interrupt enabled, resume, IOPL = 0
> current process = 6866 (man)
> interrupt mask = net tty bio cam
> trap number = 12
> panic: page fault
> #0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
> 487 if (dumping++) {
> (kgdb) bt full
> #0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
> error = 0
> #1 0xc0197d4b in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:316
> howto = 256
> #2 0xc0198189 in panic (fmt=0xc02ec46c "%s") at /usr/src/sys/kern/kern_shutdown.c:595
> fmt = 0xc02ec46c "%s"
> bootopt = 256
> buf = "page fault", '\000' <repeats 245 times>
> #3 0xc02a1203 in trap_fatal (frame=0xef9fbc48, eva=538976288) at /usr/src/sys/i386/i386/trap.c:974
> frame = (struct trapframe *) 0xef9fbc48
> code = 16
> type = 12
> ss = 16
> esp = 0
> softseg = {ssd_base = 0, ssd_limit = 1048575, ssd_type = 27, ssd_dpl = 0, ssd_p = 1, ssd_xx = 14, ssd_xx1 = 0,
> ssd_def32 = 1, ssd_gran = 1}
> #4 0xc02a0eb1 in trap_pfault (frame=0xef9fbc48, usermode=0, eva=538976288) at /usr/src/sys/i386/i386/trap.c:867
> va = 538976256
> vm = (struct vmspace *) 0x0
> map = 0xebdf3480
> rv = 0
> ftype = 1 '\001'
> p = (struct proc *) 0xef940f20
> #5 0xc02a0a2b in trap (frame={tf_fs = -274792432, tf_es = -947388400, tf_ds = -274792432, tf_edi = -1070540928,
> tf_esi = -1070485596, tf_ebp = -274744156, tf_isp = -274744204, tf_ebx = -1070540928, tf_edx = 9, tf_ecx = 9,
> tf_eax = 538976288, tf_trapno = 12, tf_err = 0, tf_eip = -1072089805, tf_cs = 8, tf_eflags = 66050, tf_esp = 0,
> tf_ss = -874502912}) at /usr/src/sys/i386/i386/trap.c:466
> p = (struct proc *) 0xef940f20
> sticks = 3553920824
> i = 0
> ucode = 0
> type = 12
> code = 0
> eva = 538976288
> #6 0xc0193533 in malloc (size=324, type=0xc030d780, flags=9) at /usr/src/sys/kern/kern_malloc.c:243
> type = (struct malloc_type *) 0xc030d780
> kbp = (struct kmembuckets *) 0xc031afa4
> kup = (struct kmemusage *) 0x0
> freep = (struct freelist *) 0x0
> indx = 9
> npg = 0
> allocsize = -1070540928
> s = 0
> va = 0x20202020 <Address 0x20202020 out of bounds>
> cp = 0x0
> savedlist = 0x0
> ksp = (struct malloc_type *) 0xffffffff
> #7 0xc0262dee in ufsdirhash_build (ip=0xcbe02500) at /usr/src/sys/ufs/ufs/ufs_dirhash.c:169
> dh = (struct dirhash *) 0xcbe02500
> bp = (struct buf *) 0x0
> ep = (struct direct *) 0x700
> vp = (struct vnode *) 0xeefdd380
> bmask = 16777280
> pos = -874502912
> dirblocks = 28
> i = 0
> j = 0
> memreqd = 7562
> nblocks = 42
> narrays = 7
> nslots = 1792
> slot = 0
> #8 0xc025d9f6 in ufs_lookup (ap=0xef9fbdac) at /usr/src/sys/ufs/ufs/ufs_lookup.c:196
> vdp = (struct vnode *) 0xeefdd380
> dp = (struct inode *) 0xcbe02500
> bp = (struct buf *) 0x0
> ep = (struct direct *) 0x0
> entryoffsetinblock = -275509472
> slotstatus = FOUND
> slotoffset = -1
> slotsize = 0
> slotfreespace = 0
> slotneeded = 0
> numdirpasses = -274743976
> endsearch = 0
> prevoff = -1071890945
> pdp = (struct vnode *) 0x1000040
> tdp = (struct vnode *) 0x1ad2
> enduseful = -874473472
> bmask = 16383
> lockparent = 0
> wantparent = 0
> namlen = 0
> error = 0
> vpp = (struct vnode **) 0xef9fbe94
> cnp = (struct componentname *) 0xef9fbea8
> cred = (struct ucred *) 0xc8fc9d00
> flags = 49348
> nameiop = 0
> p = (struct proc *) 0xef940f20
> #9 0xc0262c0d in ufs_vnoperate (ap=0xef9fbdac) at /usr/src/sys/ufs/ufs/ufs_vnops.c:2376
> ap = (struct vop_generic_args *) 0x0
> #10 0xc01c1fda in vfs_cache_lookup (ap=0xef9fbe04) at vnode_if.h:77
> rc = 0
> a = {a_desc = 0xc02f3cc0, a_dvp = 0xeefdd380, a_vpp = 0xef9fbe94, a_cnp = 0xef9fbea8}
> dvp = (struct vnode *) 0xeefdd380
> vpp = (struct vnode **) 0xef9fbe94
> cnp = (struct componentname *) 0xef9fbea8
> ap = (struct vop_lookup_args *) 0x0
> dvp = (struct vnode *) 0xeefdd380
> vp = (struct vnode *) 0xef9fbdc0
> lockparent = 0
> error = 0
> vpp = (struct vnode **) 0xef9fbe94
> cnp = (struct componentname *) 0xef9fbea8
> cred = (struct ucred *) 0x0
> flags = 49348
> p = (struct proc *) 0xef940f20
> vpid = 4009594880
> #11 0xc0262c0d in ufs_vnoperate (ap=0xef9fbe04) at /usr/src/sys/ufs/ufs/ufs_vnops.c:2376
> ap = (struct vop_generic_args *) 0x0
> #12 0xc01c4f45 in lookup (ndp=0xef9fbe80) at vnode_if.h:52
> a = {a_desc = 0xc02f3c80, a_dvp = 0xeefdd380, a_vpp = 0xef9fbe94, a_cnp = 0xef9fbea8}
> dvp = (struct vnode *) 0xeefdd380
> cnp = (struct componentname *) 0xef9fbea8
> cp = 0xebc0f42e ""
> dp = (struct vnode *) 0xeefdd380
> tdp = (struct vnode *) 0xebc76dc0
> mp = (struct mount *) 0xebc0f42e
> docache = 32
> wantparent = 0
> rdonly = 0
> trailing_slash = 0
> error = 0
> dpunlocked = 0
> cnp = (struct componentname *) 0xef9fbea8
> p = (struct proc *) 0xef940f20
> #13 0xc01c4a40 in namei (ndp=0xef9fbe80) at /usr/src/sys/kern/vfs_lookup.c:153
> fdp = (struct filedesc *) 0xebc0f400
> cp = 0xebc0f400 "/usr/local/sw/clients/i386_fbsd4/man/man1/i386"
> dp = (struct vnode *) 0xe986fe00
> aiov = {iov_base = 0xebc0f40d "/clients/i386_fbsd4/man/man1/i386", iov_len = 1011}
> auio = {uio_iov = 0xef9fbe30, uio_iovcnt = 1, uio_offset = 13, uio_resid = 1011, uio_segflg = UIO_SYSSPACE,
> uio_rw = UIO_READ, uio_procp = 0x0}
> error = -377029120
> linklen = -377029120
> cnp = (struct componentname *) 0xef9fbea8
> p = (struct proc *) 0xef940f20
> #14 0xc01ca779 in stat (p=0xef940f20, uap=0xef9fbf80) at /usr/src/sys/kern/vfs_syscalls.c:1794
> p = (struct proc *) 0xef940f20
> uap = (struct stat_args *) 0xef9fbf80
> sb = {st_dev = 3420456960, st_ino = 3420457020, st_mode = 3872, st_nlink = 61332, st_uid = 512, st_gid = 4009605632,
> st_rdev = 1, st_atimespec = {tv_sec = 134713344, tv_nsec = 4096}, st_mtimespec = {tv_sec = -897953088,
> tv_nsec = -1070644224}, st_ctimespec = {tv_sec = -285361664, tv_nsec = 0}, st_size = -1180014721226240224,
> st_blocks = -1180014398828183552, st_blksize = 3222849527, st_flags = 3397014208, st_gen = 4019457824,
> st_lspare = -275509472, st_qspare = {-1180014020871061503, 12610158464}}
> error = -275509472
> nd = {ni_dirp = 0xbfbff070 "/client/man/man1/i386", ni_segflg = UIO_USERSPACE, ni_startdir = 0x0,
> ni_rootdir = 0xe986fe00, ni_topdir = 0x0, ni_vp = 0x0, ni_dvp = 0xeefdd380, ni_pathlen = 1, ni_next = 0xebc0f42e "",
> ni_loopcnt = 2, ni_cnd = {cn_nameiop = 0, cn_flags = 49348, cn_proc = 0xef940f20, cn_cred = 0xc8fc9d00,
> cn_pnbuf = 0xebc0f400 "/usr/local/sw/clients/i386_fbsd4/man/man1/i386", cn_nameptr = 0xebc0f42a "i386", cn_namelen = 4,
> cn_consume = 0}}
> #15 0xc02a14b9 in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = -1077937568, tf_esi = 134533803,
> tf_ebp = -1077940160, tf_isp = -274743340, tf_ebx = -1077940112, tf_edx = 21, tf_ecx = -1077940264, tf_eax = 188,
> tf_trapno = 12, tf_err = 2, tf_eip = 671817224, tf_cs = 31, tf_eflags = 659, tf_esp = -1077940284, tf_ss = 47})
> at /usr/src/sys/i386/i386/trap.c:1175
> params = 0xbfbfefc8 "pП©©ЮО©©OA\005(╥P\b(\205П©©"
> i = 0
> callp = (struct sysent *) 0xc02fd160
> p = (struct proc *) 0xef940f20
> orig_tf_eflags = 659
> sticks = 0
> error = 0
> narg = 2
> args = {-1077940112, -1077940256, 0, 0, 0, 0, 0, 0}
> have_mplock = 1
> code = 188
> #16 0xc0292115 in Xint0x80_syscall ()
> No symbol table info available.
> #17 0x804b2f1 in ?? ()
> No symbol table info available.
> #18 0x804b996 in ?? ()
> No symbol table info available.
> #19 0x80493f1 in ?? ()
> No symbol table info available.
> #20 0x80491ca in ?? ()
> No symbol table info available.
>
>
> machine i386
> #cpu I386_CPU
> #cpu I486_CPU
> cpu I586_CPU
> cpu I686_CPU
> ident OFFICE
> maxusers 0
>
> makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
>
> options DDB
> options DDB_UNATTENDED
> options MATH_EMULATE #Support for x87 emulation
> options INET #InterNETworking
> options INET6 #IPv6 communications protocols
> options FFS #Berkeley Fast Filesystem
> options FFS_ROOT #FFS usable as root device [keep this!]
> options SOFTUPDATES #Enable FFS soft updates support
> options UFS_DIRHASH #Improve performance on big directories
> options MFS #Memory Filesystem
> options MD_ROOT #MD is a potential root device
> options NFS #Network Filesystem
> options NFS_ROOT #NFS usable as root device, NFS required
> options MSDOSFS #MSDOS Filesystem
> options CD9660 #ISO 9660 Filesystem
> options CD9660_ROOT #CD-ROM usable as root, CD9660 required
> options PROCFS #Process filesystem
> options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
> options SCSI_DELAY=3000 #Delay (in ms) before probing SCSI
> options UCONSOLE #Allow users to grab the console
> options USERCONFIG #boot -c editor
> #options VISUAL_USERCONFIG #visual boot -c editor
> options KTRACE #ktrace(1) support
> options SYSVSHM #SYSV-style shared memory
> options SYSVMSG #SYSV-style message queues
> options SYSVSEM #SYSV-style semaphores
> options SHMALL=16384
> options SHMMAX="(SHMMAXPGS*PAGE_SIZE+1)"
> options SHMMAXPGS=8192
> options SHMMIN=128
> options SHMMNI=128
> options SHMSEG=96
> options P1003_1B #Posix P1003_1B real-time extensions
> options _KPOSIX_PRIORITY_SCHEDULING
> options ICMP_BANDLIM #Rate limit bad replies
> options KBD_INSTALL_CDEV # install a CDEV entry in /dev
>
> # To make an SMP kernel, the next two are needed
> #options SMP # Symmetric MultiProcessor Kernel
> #options APIC_IO # Symmetric (APIC) I/O
>
> device isa
> #device eisa
> device pci
>
> # Floppy drives
> device fdc0 at isa? port IO_FD1 irq 6 drq 2
> device fd0 at fdc0 drive 0
> device fd1 at fdc0 drive 1
> #
> # If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,
> # don't use the above line for fdc0 but the following one:
> #device fdc0
>
> # ATA and ATAPI devices
> device ata0 at isa? port IO_WD1 irq 14
> device ata1 at isa? port IO_WD2 irq 15
> device ata
> device atadisk # ATA disk drives
> device atapicd # ATAPI CDROM drives
> device atapifd # ATAPI floppy drives
> device atapist # ATAPI tape drives
> options ATA_STATIC_ID #Static device numbering
>
> # SCSI Controllers
> #device ahb # EISA AHA1742 family
> device ahc # AHA2940 and onboard AIC7xxx devices
> #device amd # AMD 53C974 (Tekram DC-390(T))
> #device isp # Qlogic family
> #device ncr # NCR/Symbios Logic
> #device sym # NCR/Symbios Logic (newer chipsets)
> #options SYM_SETUP_LP_PROBE_MAP=0x40
> # # Allow ncr to attach legacy NCR devices when
> # # both sym and ncr are configured
>
> #device adv0 at isa?
> #device adw
> #device bt0 at isa?
> #device aha0 at isa?
> #device aic0 at isa?
>
> #device ncv # NCR 53C500
> #device nsp # Workbit Ninja SCSI-3
> #device stg # TMC 18C30/18C50
>
> # SCSI peripherals
> device scbus # SCSI bus (required)
> device da # Direct Access (disks)
> device sa # Sequential Access (tape etc)
> device cd # CD
> device ch # Tape changer
> device pass # Passthrough device (direct SCSI access)
>
> # RAID controllers interfaced to the SCSI subsystem
> device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
> #device dpt # DPT Smartcache - See LINT for options!
> #device mly # Mylex AcceleRAID/eXtremeRAID
>
> # RAID controllers
> #device aac # Adaptec FSA RAID, Dell PERC2/PERC3
> #device ida # Compaq Smart RAID
> #device amr # AMI MegaRAID
> #device mlx # Mylex DAC960 family
> device twe # 3ware Escalade
>
> # atkbdc0 controls both the keyboard and the PS/2 mouse
> device atkbdc0 at isa? port IO_KBD
> device atkbd0 at atkbdc? irq 1 flags 0x0
> device psm0 at atkbdc? irq 12
>
> device vga0 at isa?
>
> # splash screen/screen saver
> pseudo-device splash
>
> # syscons is the default console driver, resembling an SCO console
> device sc0 at isa? flags 0x100
>
> # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
> #device vt0 at isa?
> #options XSERVER # support for X server on a vt console
> #options FAT_CURSOR # start with block cursor
> # If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
> #options PCVT_SCANSET=2 # IBM keyboards are non-std
>
> # Floating point support - do not disable.
> device npx0 at nexus? port IO_NPX irq 13
>
> # Power management support (see LINT for more options)
> device apm0 at nexus? disable flags 0x20 # Advanced Power Management
>
> # PCCARD (PCMCIA) support
> #device card
> #device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000
> #device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable
>
> # Serial (COM) ports
> device sio0 at isa? port IO_COM1 flags 0x10 irq 4
> device sio1 at isa? port IO_COM2 irq 3
>
> # Parallel port
> device ppc0 at isa? irq 7
> device ppbus # Parallel port bus (required)
> device lpt # Printer
> device plip # TCP/IP over parallel
> device ppi # Parallel port interface device
> #device vpo # Requires scbus and da
>
>
> # PCI Ethernet NICs.
> device em
>
> # PCI Ethernet NICs that use the common MII bus controller code.
> # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
> device miibus # MII bus support
> #device dc # DEC/Intel 21143 and various workalikes
> device fxp # Intel EtherExpress PRO/100B (82557, 82558)
> #device pcn # AMD Am79C97x PCI 10/100 NICs
> #device rl # RealTek 8129/8139
> #device sf # Adaptec AIC-6915 (``Starfire'')
> #device sis # Silicon Integrated Systems SiS 900/SiS 7016
> #device ste # Sundance ST201 (D-Link DFE-550TX)
> #device tl # Texas Instruments ThunderLAN
> #device tx # SMC EtherPower II (83c170 ``EPIC'')
> #device vr # VIA Rhine, Rhine II
> #device wb # Winbond W89C840F
> #device wx # Intel Gigabit Ethernet Card (``Wiseman'')
> #device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
> #device bge # Broadcom BCM570x (``Tigon III'')
>
> # ISA Ethernet NICs.
> # 'device ed' requires 'device miibus'
> device ed0 at isa? port 0x280 irq 10 iomem 0xd8000
> #device ex
> #device ep
> #device fe0 at isa? port 0x300
> # Xircom Ethernet
> #device xe
> # PRISM I IEEE 802.11b wireless NIC.
> #device awi
> # WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
> # exists only as a PCMCIA device, so there is no ISA attachment needed
> # and resources will always be dynamically assigned by the pccard code.
> #device wi
> # Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
> # work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
> # mode (the factory default). If you set the switches on your ISA
> # card for a manually chosen I/O address and IRQ, you must specify
> # those parameters here.
> #device an
> # The probe order of these is presently determined by i386/isa/isa_compat.c.
> #device ie0 at isa? port 0x300 irq 10 iomem 0xd0000
> #device le0 at isa? port 0x300 irq 5 iomem 0xd0000
> #device lnc0 at isa? port 0x280 irq 10 drq 0
> #device cs0 at isa? port 0x300
> #device sn0 at isa? port 0x300 irq 10
>
> # Pseudo devices - the number indicates how many units to allocate.
> pseudo-device loop # Network loopback
> pseudo-device ether # Ethernet support
> #pseudo-device sl 1 # Kernel SLIP
> #pseudo-device ppp 1 # Kernel PPP
> #pseudo-device tun # Packet tunnel.
> pseudo-device pty 512 # Pseudo-ttys (telnet etc)
> #pseudo-device md # Memory "disks"
> #pseudo-device gif # IPv6 and IPv4 tunneling
> #pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)
>
> # The `bpf' pseudo-device enables the Berkeley Packet Filter.
> # Be aware of the administrative consequences of enabling this!
> pseudo-device bpf #Berkeley packet filter
>
> -Kirill
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
>
--
Doug White | FreeBSD: The Power to Serve
dwhite at gumbysoft.com | www.FreeBSD.org
More information about the freebsd-stable
mailing list