Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Sep 2013 17:24:54 -0400
From:      "J.R. Oldroyd" <fbsd@opal.com>
To:        freebsd-acpi@freebsd.org
Subject:   panic after acpi suspend/resume 9.1, 9.2rc3
Message-ID:  <20130908172454.15812086@shibato>

next in thread | raw e-mail | index | archive | help
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



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