Date: Mon, 9 Sep 2013 14:57:44 -0400 From: "J.R. Oldroyd" <fbsd@opal.com> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-acpi@freebsd.org Subject: Re: panic after acpi suspend/resume 9.1, 9.2rc3 Message-ID: <20130909145744.63fcba85@shibato> In-Reply-To: <201309091122.30193.jhb@freebsd.org> References: <20130908172454.15812086@shibato> <201309091122.30193.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/EUJJhy2sFqpOzmZwydjaLl0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Mon, 9 Sep 2013 11:22:29 -0400 John Baldwin <jhb@freebsd.org> wrote: > > > Fatal trap 12: page fault while in kernel mode > > cpuid =3D 0; apic id =3D 00 > > fault virtual address =3D 0x0 > > fault code =3D supervisor write data, page not present > > instruction pointer =3D 0x20:0xffffffff80ceddcd > > stack pointer =3D 0x28:0xffffff80dbfe25e0 > > frame pointer =3D 0x28:0xffffff80dbfe2660 > > code segment =3D base 0x0, limit 0xfffff, type 0x1b > > =3D DPL 0, pres 1, long 1, def32 0, gran 1 > > processor eflags =3D interrupt enabled, resume, IOPL =3D 0 > > current process =3D 52022 (firefox) > > trap number =3D 12 > > panic: page fault > > cpuid =3D 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 >=20 > This is where the NULL pointer is. Frame 9 (listed below) is above this. >=20 > > (kgdb) list *0xffffffff80ceddcd > > 0xffffffff80ceddcd is in pmap_enter (../../../amd64/amd64/pmap.c:3577). > > 3572 if ((m->oflags & VPO_UNMANAGED) =3D=3D 0) { > > 3573 newpte |=3D PG_MANAGED; > > 3574 pv =3D get_pv_entry(pmap, &lock); > > 3575 pv->pv_va =3D 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) !=3D 0) > > 3579 vm_page_aflag_set(m, PGA_WRITEABLE); > > 3580 } > > 3581 >=20 > So it seems like pv_list of a page might be busted? Can you try looking = at > the disassembly to see if you can find 'm' in one of the registers? >=20 Sure, here you go... (kgdb) print m $1 =3D 0xfffffe00b260b430 (kgdb) print m->md.pv_list $4 =3D {tqh_first =3D 0x0, tqh_last =3D 0x0} (kgdb) print pv $2 =3D 0xfffffe0095088ad8 (kgdb) print pv_list No symbol "pv_list" in current context. (kgdb) info registers rax 0x1 1 rbx 0xfffffe0095088ae0 -2196522890528 rcx 0x0 0 rdx 0xfffffe00b260b430 -2196030573520 rsi 0x0 0 rdi 0x153 339 rbp 0xffffff80dbfe2660 0xffffff80dbfe2660 rsp 0xffffff80dbfe25f0 0xffffff80dbfe25f0 r8 0x0 0 r9 0x827689000 35020902400 r10 0x63 99 r11 0xfffffe00b260b430 -2196030573520 r12 0x47f 1151 r13 0xfffffe00862458d8 -2196772726568 r14 0xfffffe0092907448 -2196564315064 r15 0xfffffe0095088ad8 -2196522890536 rip 0xffffffff80ceddcd 0xffffffff80ceddcd <pmap_enter+1709> eflags 0x10202 66050 cs 0x20 32 ss 0x0 0 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0 --Sig_/EUJJhy2sFqpOzmZwydjaLl0 Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEUEARECAAYFAlIuGisACgkQls33urr0k4mOdgCdGKN1VVwYKDEe9z0s7mFQRpXH fc8AmJ07mKw+RsSBOSvfoKoldf8zWWU= =XhJe -----END PGP SIGNATURE----- --Sig_/EUJJhy2sFqpOzmZwydjaLl0--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130909145744.63fcba85>