panic after acpi suspend/resume 9.1, 9.2rc3
J.R. Oldroyd
fbsd at opal.com
Sun Sep 8 21:25:05 UTC 2013
This problem may have existed for some time in the 9.x kernel.
I've had similar panics for a while, but not had time to look into
it. I did not have this problem on 8.x kernels on this laptop.
It never happens when the system is cold-booted. It only happens
after a suspend/resume cycle or two which is why I am posting to
freebsd-apci to start with...
The repeat-by goes something like this:
- boot system
- suspend system
- resume system
- use as normal (mix of email/firefox/sh & nvi/openvpn)
- perhaps suspend/resume again
- keep using as normal
- system panics, seems often to be when using firefox
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x0
fault code = supervisor write data, page not present
instruction pointer = 0x20:0xffffffff80ceddcd
stack pointer = 0x28:0xffffff80dbfe25e0
frame pointer = 0x28:0xffffff80dbfe2660
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 52022 (firefox)
trap number = 12
panic: page fault
cpuid = 0
KDB: stack backtrace:
#0 0xffffffff80947986 at kdb_backtrace+0x66
#1 0xffffffff8090d9ae at panic+0x1ce
#2 0xffffffff80cf1db0 at trap_fatal+0x290
#3 0xffffffff80cf2111 at trap_pfault+0x211
#4 0xffffffff80cf26c4 at trap+0x344
#5 0xffffffff80cdb9f3 at calltrap+0x8
#6 0xffffffff80b797a7 at vm_fault_hold+0x1b87
#7 0xffffffff80b7a343 at vm_fault+0x73
#8 0xffffffff80cf202f at trap_pfault+0x12f
#9 0xffffffff80cf2874 at trap+0x4f4
#10 0xffffffff80cdb9f3 at calltrap+0x8
Uptime: 3d1h54m0s
Dumping 409 out of 2918 MB:..4%..12%..24%..32%..43%..51%..63%..71%..83%..94%
Reading symbols from...
#0 doadump (textdump=<value optimized out>) at pcpu.h:234
234 __asm("movq %%gs:%1,%0" : "=r" (td)
(kgdb) up 9
#9 0xffffffff80b7a343 in vm_fault (map=0xfffffe00862457a8, vaddr=35020902400, fault_type=<value optimized out>, fault_flags=0) at ../../../vm/vm_fault.c:229
229 result = vm_fault_hold(map, trunc_page(vaddr), fault_type, fault_flags,
(kgdb) list
224 return (KERN_PROTECTION_FAILURE);
225 #ifdef KTRACE
226 if (map != kernel_map && KTRPOINT(td, KTR_FAULT))
227 ktrfault(vaddr, fault_type);
228 #endif
229 result = vm_fault_hold(map, trunc_page(vaddr), fault_type, fault_flags,
230 NULL);
231 #ifdef KTRACE
232 if (map != kernel_map && KTRPOINT(td, KTR_FAULTEND))
233 ktrfaultend(result);
(kgdb) print map
$1 = 0xfffffe00862457a8
(kgdb) print vaddr
$2 = 35020902400
(kgdb) print fault_type
$3 = <value optimized out>
(kgdb) print fault_flags
$4 = 0
(kgdb) print result
$5 = <value optimized out>
(kgdb) up
#10 0xffffffff80cf202f in trap_pfault (frame=0xffffff80dbfe2c40, usermode=1) at ../../../amd64/amd64/trap.c:762
762 rv = vm_fault(map, va, ftype, VM_FAULT_NORMAL);
(kgdb) up
#11 0xffffffff80cf2874 in trap (frame=0xffffff80dbfe2c40) at ../../../amd64/amd64/trap.c:363
363 i = trap_pfault(frame, TRUE);
(kgdb) up
#12 0xffffffff80cdb9f3 in calltrap () at ../../../amd64/amd64/exception.S:232
232 call trap
Current language: auto; currently asm
(kgdb) up
#13 0x00000008010ac1c6 in ?? ()
(kgdb) up
Previous frame inner to this frame (corrupt stack?)
(kgdb) list *0xffffffff80ceddcd
0xffffffff80ceddcd is in pmap_enter (../../../amd64/amd64/pmap.c:3577).
3572 if ((m->oflags & VPO_UNMANAGED) == 0) {
3573 newpte |= PG_MANAGED;
3574 pv = get_pv_entry(pmap, &lock);
3575 pv->pv_va = va;
3576 CHANGE_PV_LIST_LOCK_TO_PHYS(&lock, pa);
3577 TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list);
3578 if ((newpte & PG_RW) != 0)
3579 vm_page_aflag_set(m, PGA_WRITEABLE);
3580 }
3581
What additional info might I provide?
-jr
More information about the freebsd-acpi
mailing list