Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Nov 1997 14:39:21 +0000
From:      James Raynard <fcurrent@jraynard.demon.co.uk>
To:        freebsd-current@freebsd.org
Subject:   Page fault while in kernel mode
Message-ID:  <19971115143921.07053@jraynard.demon.co.uk>

next in thread | raw e-mail | index | archive | help
I can replicate this by doing the following:

1. Log on as root on ttyv0 and compile a kernel.
2. Log on my myself on ttyv1, do su and mount a CD-ROM.
3. Navigate around the CD using tcsh's filename completion.
4. System freezes up.

DDB says:
Fatal trap 12: page fault while in kernel mode
fault virtual address 	= 0x8
fault code 		= supervisor page read, page not present
instruction pointer 	= 0x8: 0xf3f57dc8
stack pointer		= 0x10: 0xf3c98bdc
frame pointer		= 0x10: 0xf3c98c10
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, def32 1, gran 1
processor flags		= interrupt enabled, resume, IOPL = 0
current process		= 890 (tcsh)

and gdb -k says:
[GDB banner]
IdlePTD 219000
current pcb at 1cc844
panic: from debugger
#0  boot (howto=256) at ../../kern/kern_shutdown.c:285
285					dumppcb.pcb_cr3 = rcr3();
(kgdb) where
#0  boot (howto=256) at ../../kern/kern_shutdown.c:285
#1  0xf011214f in panic (fmt=0xf01013c9 "from debugger")
    at ../../kern/kern_shutdown.c:415
#2  0xf01013e5 in db_panic (dummy1=-202084920, dummy2=0, dummy3=-1, 
    dummy4=0xf3c92a60 "") at ../../ddb/db_command.c:440
#3  0xf01012d5 in db_command (last_cmdp=0xf01bbac4, cmd_table=0xf01bb914, 
    aux_cmd_tablep=0xf01df234) at ../../ddb/db_command.c:337
#4  0xf0101452 in db_command_loop () at ../../ddb/db_command.c:462
#5  0xf0103b43 in db_trap (type=12, code=0) at ../../ddb/db_trap.c:71
#6  0xf017f1e1 in kdb_trap (type=12, code=0, regs=0xf3c92ba0)
    at ../../i386/i386/db_interface.c:158
#7  0xf0189caf in trap_fatal (frame=0xf3c92ba0) at ../../i386/i386/trap.c:808
#8  0xf0189758 in trap_pfault (frame=0xf3c92ba0, usermode=0)
    at ../../i386/i386/trap.c:706
#9  0xf01893bf in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = -261512882, 
      tf_esi = -261512882, tf_ebp = -204919792, tf_isp = -204919864, 
      tf_ebx = -260967680, tf_edx = -261640192, tf_ecx = 0, tf_eax = 301390, 
      tf_trapno = 12, tf_err = 0, tf_eip = -202084920, tf_cs = 8, 
      tf_eflags = 66198, tf_esp = -260967680, tf_ss = -260960512})
    at ../../i386/i386/trap.c:345
#10 0xf3f46dc8 in ?? ()
#11 0xf3f448e8 in ?? ()
#12 0xf012e824 in vfs_cache_lookup (ap=0xf3c92e28) at vnode_if.h:55
#13 0xf013032d in lookup (ndp=0xf3c92ea8) at vnode_if.h:31
#14 0xf012fe1c in namei (ndp=0xf3c92ea8) at ../../kern/vfs_lookup.c:154
#15 0xf0134a2c in stat (p=0xf067bc00, uap=0xf3c92f84)
    at ../../kern/vfs_syscalls.c:1552
#16 0xf0189f79 in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = -272659648, 
      tf_esi = -272659136, tf_ebp = -272659736, tf_isp = -204918828, 
      tf_ebx = -272661784, tf_edx = 407830, tf_ecx = 407944, tf_eax = 188, 
      tf_trapno = 22, tf_err = 7, tf_eip = 537570533, tf_cs = 31, 
      tf_eflags = 642, tf_esp = -272661920, tf_ss = 39})
    at ../../i386/i386/trap.c:962
#17 0x200aace5 in ?? ()
#18 0x21c4a in ?? ()
#19 0x22742 in ?? ()
#20 0x203ea in ?? ()
#21 0x2f2ae in ?? ()
#22 0x165c7 in ?? ()
#23 0x16215 in ?? ()
#24 0x1333f in ?? ()
#25 0x3a69 in ?? ()
#26 0x2df5 in ?? ()
#27 0x10e8 in ?? ()
(kgdb) q

-- 
In theory, theory is better than practice.  In practice, it isn't.
James Raynard, Edinburgh, Scotland.   http://www.freebsd.org/~jraynard/



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