Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Nov 2005 19:56:59 -0800 (PST)
From:      Doug White <dwhite@gumbysoft.com>
To:        stable@freebsd.org
Subject:   umounting overlapping mount panics
Message-ID:  <20051114194857.I24063@carver.gumbysoft.com>

next in thread | raw e-mail | index | archive | help
Hey folks,

I accidentally mounted a CDROM over itself when installing X. OK, no
problem, umounted it and then started browsing the CD. Panic.

The panic output:
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x0
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc05ffe4e
stack pointer           = 0x28:0xda969ad4
frame pointer           = 0x28:0xda969ae8
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         = 485 (csh)
trap number             = 12
panic: page fault

The trace:

#0  doadump () at pcpu.h:165
#1  0xc0638202 in boot (howto=260) at
/usr/src/sys/kern/kern_shutdown.c:399
#2  0xc0638498 in panic (fmt=0xc084e5a2 "%s")
    at /usr/src/sys/kern/kern_shutdown.c:555
#3  0xc0807c30 in trap_fatal (frame=0xda969a94, eva=0)
    at /usr/src/sys/i386/i386/trap.c:831
#4  0xc080799b in trap_pfault (frame=0xda969a94, usermode=0, eva=0)
    at /usr/src/sys/i386/i386/trap.c:742
#5  0xc08075d9 in trap (frame=
      {tf_fs = 8, tf_es = 40, tf_ds = 40, tf_edi = -1040124992, tf_esi =
0, tf_ebp = -627664152, tf_isp = -627664192, tf_ebx = -1027565108, tf_edx
= 2048, tf_ecx = 0, tf_eax = 1, tf_trapno = 12, tf_err = 0, tf_eip =
-1067450802, tf_cs = 32, tf_eflags = 66182, tf_esp = 1, tf_ss = 0})
    at /usr/src/sys/i386/i386/trap.c:432
#6  0xc07f6dca in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#7  0xc05ffe4e in g_io_request (bp=0xc2c099cc, cp=0xc200f3c0)
    at /usr/src/sys/geom/geom_io.c:259
#8  0xc0602399 in g_vfs_strategy (bo=0x1, bp=0xcbed1d68)
    at /usr/src/sys/geom/geom_vfs.c:106
#9  0xc060a2d9 in cd9660_strategy (ap=0x1)
    at /usr/src/sys/isofs/cd9660/cd9660_vnops.c:755
#10 0xc0817a49 in VOP_STRATEGY_APV (vop=0xc08bd320, a=0xda969b3c)
    at vnode_if.c:1796
#11 0xc0681de8 in bufstrategy (bo=0xc1f883f0, bp=0x1) at vnode_if.h:928
#12 0xc067c78d in breadn (vp=0xc1f88330, blkno=0, size=2048, rablkno=0x0,
    rabsize=0x0, cnt=0, cred=0x0, bpp=0x1) at buf.h:415
#13 0xc067c6d0 in bread (vp=0xc1f88330, blkno=0, size=2048, cred=0x0,
    bpp=0xda969bc8) at /usr/src/sys/kern/vfs_bio.c:719
#14 0xc0606be5 in cd9660_blkatoff (vp=0x800, offset=0, res=0x0,
bpp=0xda969c28)
    at /usr/src/sys/isofs/cd9660/cd9660_lookup.c:406
#15 0xc0609db2 in cd9660_readdir (ap=0xda969c90)
    at /usr/src/sys/isofs/cd9660/cd9660_vnops.c:513
#16 0xc0817754 in VOP_READDIR_APV (vop=0x1, a=0x800) at vnode_if.c:1427
#17 0xc0696e67 in getdirentries (td=0xc200e180, uap=0xda969d04)
    at vnode_if.h:746
#18 0xc0807f47 in syscall (frame=
      {tf_fs = 59, tf_es = 59, tf_ds = 59, tf_edi = 136507528, tf_esi =
-1078307728, tf_ebp = -1078347096, tf_isp = -627663516, tf_ebx =
672974052, tf_edx = 0, tf_ecx = 0, tf_eax = 196, tf_trapno = 22, tf_err =
2, tf_eip = 672447091, tf_cs = 51, tf_eflags = 582, tf_esp = -1078347140,
tf_ss = 59})
    at /usr/src/sys/i386/i386/trap.c:976
#19 0xc07f6e1f in Xint0x80_syscall () at
/usr/src/sys/i386/i386/exception.s:200
#20 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)

Reproduction case:

mount /cdrom
mount /cdrom
ls /cdrom
umount /cdrom
ls /cdrom
*panic*

-- 
Doug White                    |  FreeBSD: The Power to Serve
dwhite@gumbysoft.com          |  www.FreeBSD.org



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