page fault on resume

Peter Radcliffe pir at pir.net
Mon Jun 7 06:48:50 GMT 2004


I'm running recent -STABLE on my IBM X30 and for as long as I've had
the machine I've been having rare but regular page faults when
resuming after a suspend. Any ideas ?

P.

More info;

IdlePTD at physical address 0x00427000
initial pcb at physical address 0x00346880
panicstr: page fault
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x70
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc0198f54
stack pointer           = 0x10:0xc0313288
frame pointer           = 0x10:0xc03132ac
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         = Idle
interrupt mask          = net tty bio cam 
trap number             = 12
panic: page fault

syncing disks... 

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x30
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc023db24
stack pointer           = 0x10:0xc03130b4
frame pointer           = 0x10:0xc03130bc
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         = Idle
interrupt mask          = net tty bio cam 
trap number             = 12
panic: page fault
Uptime: 12d8h0m36s

dumping to dev #ad/0x30001, offset 17536


kgdb gives me;

(kgdb) where
#0  dumpsys () at ../../kern/kern_shutdown.c:487
#1  0xc0195ee3 in boot (howto=260) at ../../kern/kern_shutdown.c:316
#2  0xc0196321 in panic (fmt=0xc030678c "%s") at ../../kern/kern_shutdown.c:595
#3  0xc02a5597 in trap_fatal (frame=0xc0313074, eva=48)
    at ../../i386/i386/trap.c:974
#4  0xc02a5245 in trap_pfault (frame=0xc0313074, usermode=0, eva=48)
    at ../../i386/i386/trap.c:867
#5  0xc02a4deb in trap (frame={tf_fs = -1070530544, tf_es = 16, tf_ds = 16, 
      tf_edi = -1070215872, tf_esi = 0, tf_ebp = -1070518084, 
      tf_isp = -1070518112, tf_ebx = -1070415844, tf_edx = 6834280, 
      tf_ecx = 23, tf_eax = 0, tf_trapno = 12, tf_err = 0, 
      tf_eip = -1071391964, tf_cs = 8, tf_eflags = 66182, tf_esp = 0, 
      tf_ss = 0}) at ../../i386/i386/trap.c:466
#6  0xc023db24 in acquire_lock (lk=0xc032c01c)
    at ../../ufs/ffs/ffs_softdep.c:266
#7  0xc0242146 in softdep_fsync_mountdev (vp=0xf2e7c900)
    at ../../ufs/ffs/ffs_softdep.c:4024
#8  0xc024652a in ffs_fsync (ap=0xc0313130) at ../../ufs/ffs/ffs_vnops.c:134
#9  0xc0245127 in ffs_sync (mp=0xce369200, waitfor=2, cred=0xc2062500, 
    p=0xc035cd40) at vnode_if.h:558
#10 0xc01c78f7 in sync (p=0xc035cd40, uap=0x0) at ../../kern/vfs_syscalls.c:583
#11 0xc0195c56 in boot (howto=256) at ../../kern/kern_shutdown.c:235
#12 0xc0196321 in panic (fmt=0xc030678c "%s") at ../../kern/kern_shutdown.c:595
---Type <return> to continue, or q <return> to quit--- 
#13 0xc02a5597 in trap_fatal (frame=0xc0313248, eva=112)
    at ../../i386/i386/trap.c:974
#14 0xc02a5245 in trap_pfault (frame=0xc0313248, usermode=0, eva=112)
    at ../../i386/i386/trap.c:867
#15 0xc02a4deb in trap (frame={tf_fs = -628555760, tf_es = 7208976, 
      tf_ds = -1070530544, tf_edi = 0, tf_esi = -628515012, 
      tf_ebp = -1070517588, tf_isp = -1070517644, tf_ebx = 0, 
      tf_edx = 6834280, tf_ecx = -838089152, tf_eax = 7227496, tf_trapno = 12, 
      tf_err = 0, tf_eip = -1072066732, tf_cs = 8, tf_eflags = 66118, 
      tf_esp = -1054231584, tf_ss = 0}) at ../../i386/i386/trap.c:466
#16 0xc0198f54 in tsleep (ident=0xda899f3c, priority=4, 
    wmesg=0xc02ee227 "swwrt", timo=0) at ../../kern/kern_synch.c:436
#17 0xc024f5e3 in swap_pager_putpages (object=0xc0350f0c, m=0xc0313368, 
    count=1, sync=1, rtvals=0xc031330c) at ../../vm/swap_pager.c:1431
#18 0xc0259ddc in vm_pageout_flush (mc=0xc0313368, count=1, flags=0)
    at ../../vm/vm_pager.h:147
#19 0xc02596f1 in contigmalloc1 (size=16384, type=0xc031e1e0, flags=1, low=0, 
    high=4294967295, alignment=8, boundary=0, map=0xc034ceec)
    at ../../vm/vm_page.c:1855
#20 0xc02599b7 in contigmalloc (size=16384, type=0xc031e1e0, flags=1, low=0, 
    high=4294967295, alignment=8, boundary=0) at ../../vm/vm_page.c:1980
#21 0xc029645b in bus_dmamem_alloc (dmat=0xce0bc340, vaddr=0xce0b42f0, 
    flags=1, mapp=0xce0b4250) at ../../i386/i386/busdma_machdep.c:351
#22 0xc03e9f09 in ?? ()
#23 0xc03ea557 in ?? ()
#24 0xc0127e32 in DEVICE_RESUME (dev=0xce096280) at device_if.c:105
#25 0xc019edbe in bus_generic_resume (dev=0xce096d80)
    at ../../kern/subr_bus.c:1964
#26 0xc0127e32 in DEVICE_RESUME (dev=0xce096d80) at device_if.c:105
#27 0xc019edbe in bus_generic_resume (dev=0xce096f00)
    at ../../kern/subr_bus.c:1964
#28 0xc0127e32 in DEVICE_RESUME (dev=0xce096f00) at device_if.c:105
#29 0xc019edbe in bus_generic_resume (dev=0xce094080)
    at ../../kern/subr_bus.c:1964
#30 0xc0127e32 in DEVICE_RESUME (dev=0xce094080) at device_if.c:105
#31 0xc019edbe in bus_generic_resume (dev=0xc2062480)
    at ../../kern/subr_bus.c:1964
#32 0xc0127e32 in DEVICE_RESUME (dev=0xc2062480) at device_if.c:105
#33 0xc02944bc in apm_resume () at ../../i386/apm/apm.c:549
#34 0xc0294ce8 in apm_processevent () at ../../i386/apm/apm.c:980
#35 0xc0294321 in apm_do_suspend () at ../../i386/apm/apm.c:433
#36 0xc02946fd in apm_timeout (dummy=0x0) at ../../i386/apm/apm.c:691
#37 0xc019bfa5 in softclock () at ../../kern/kern_timeout.c:131
#38 0xc0299db3 in doreti_swi ()


-- 
pir



More information about the freebsd-mobile mailing list