Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jan 2013 13:33:38 -0500
From:      Glen Barber <gjb@FreeBSD.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: [panic] Unknown caching mode 8198 in sys/amd64/amd64/pmap.c
Message-ID:  <20130113183338.GJ1359@glenbarber.us>
In-Reply-To: <20130113175656.GC2561@kib.kiev.ua>
References:  <20130111200952.GA1359@glenbarber.us> <20130113175656.GC2561@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

--JsihDCElWRmQcbOr
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Jan 13, 2013 at 07:56:56PM +0200, Konstantin Belousov wrote:
> On Fri, Jan 11, 2013 at 03:09:52PM -0500, Glen Barber wrote:
> > Hi,
> >=20
> > I'm running a relatively recent -CURRENT:
> >=20
> > root@nucleus:/usr/obj/usr/src/sys/NUCLEUS # uname -a
> > FreeBSD nucleus 10.0-CURRENT FreeBSD 10.0-CURRENT #50 r244773: Mon Dec
> > 31 16:07:53 EST 2012     root@nucleus:/usr/obj/usr/src/sys/NUCLEUS amd64
> >=20
> > I ran into this panic twice over the past 24 hours.  Both times,
> > Chromium was the program I was actively using, with a few ssh sessions
> > in the background.
> >=20
> > Below follows kgdb session and hopefully useful information.  Any advice
> > on how to further debug this would be appreciated.
> >=20
> > Glen
> >=20
> >=20
> > Script started on Fri Jan 11 14:58:16 2013
> > root@nucleus:/usr/obj/usr/src/sys/NUCLEUS # kgdb kernel.debug /var/cras=
h/vmcore.6
> > GNU gdb 6.1.1 [FreeBSD]
> > Copyright 2004 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and yo=
u are
> > welcome to change it and/or distribute copies of it under certain condi=
tions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB.  Type "show warranty" for deta=
ils.
> > This GDB was configured as "amd64-marcel-freebsd"...
> >=20
> > Unread portion of the kernel message buffer:
> > panic: Unknown caching mode 8198
> >=20
> > cpuid =3D 3
> > KDB: stack backtrace:
> > #0 0xffffffff80605a76 at kdb_backtrace+0x66
> > #1 0xffffffff805cbbbb at panic+0x13b
> > #2 0xffffffff80879748 at pmap_cache_bits+0x58
> > #3 0xffffffff80880fb4 at pmap_enter+0xa4
> > #4 0xffffffff8084ed25 at vm_fault_hold+0x1a15
> > #5 0xffffffff8084f8d3 at vm_fault+0x73
> > #6 0xffffffff8088593a at trap_pfault+0x13a
> > #7 0xffffffff80886184 at trap+0x4f4
> > #8 0xffffffff8086f853 at calltrap+0x8
> > Uptime: 1d14h30m4s
> > Dumping 4646 out of 7951 MB:..1%..11%..21%..31%..41%..51%..61%..71%..81=
%..91%
> >=20
> > Reading symbols from /boot/kernel/zfs.ko...Reading symbols from /bootdi=
r/boot/kernel/zfs.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/zfs.ko
> > Reading symbols from /boot/kernel/opensolaris.ko...Reading symbols from=
 /bootdir/boot/kernel/opensolaris.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/opensolaris.ko
> > Reading symbols from /boot/kernel/geom_eli.ko...Reading symbols from /b=
ootdir/boot/kernel/geom_eli.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/geom_eli.ko
> > Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot=
dir/boot/kernel/linux.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/linux.ko
> > Reading symbols from /boot/kernel/coretemp.ko...Reading symbols from /b=
ootdir/boot/kernel/coretemp.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/coretemp.ko
> > Reading symbols from /boot/kernel/acpi_video.ko...Reading symbols from =
/bootdir/boot/kernel/acpi_video.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/acpi_video.ko
> > Reading symbols from /boot/kernel/sem.ko...Reading symbols from /bootdi=
r/boot/kernel/sem.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/sem.ko
> > Reading symbols from /boot/kernel/acpi_asus.ko...Reading symbols from /=
bootdir/boot/kernel/acpi_asus.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/acpi_asus.ko
> > Reading symbols from /boot/kernel/aesni.ko...Reading symbols from /boot=
dir/boot/kernel/aesni.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/aesni.ko
> > Reading symbols from /boot/kernel/pf.ko...Reading symbols from /bootdir=
/boot/kernel/pf.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/pf.ko
> > Reading symbols from /boot/kernel/i915kms.ko...Reading symbols from /bo=
otdir/boot/kernel/i915kms.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/i915kms.ko
> > Reading symbols from /boot/kernel/iicbb.ko...Reading symbols from /boot=
dir/boot/kernel/iicbb.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/iicbb.ko
> > Reading symbols from /boot/kernel/iicbus.ko...Reading symbols from /boo=
tdir/boot/kernel/iicbus.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/iicbus.ko
> > Reading symbols from /boot/kernel/iic.ko...Reading symbols from /bootdi=
r/boot/kernel/iic.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/iic.ko
> > Reading symbols from /boot/kernel/agp.ko...Reading symbols from /bootdi=
r/boot/kernel/agp.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/agp.ko
> > Reading symbols from /boot/kernel/drm2.ko...Reading symbols from /bootd=
ir/boot/kernel/drm2.ko.symbols...done.
> > done.
> > Loaded symbols for /boot/kernel/drm2.ko
> > Reading symbols from /usr/local/libexec/linux_adobe/linux_adobe.ko...do=
ne.
> > Loaded symbols for /usr/local/libexec/linux_adobe/linux_adobe.ko
> > #0  doadump (textdump=3D<value optimized out>) at pcpu.h:229
> > 229             __asm("movq %%gs:%1,%0" : "=3Dr" (td)
> > (kgdb) bt
> > #0  doadump (textdump=3D<value optimized out>) at pcpu.h:229
> > #1  0xffffffff805cb724 in kern_reboot (howto=3D260) at /usr/src/sys/ker=
n/kern_shutdown.c:446
> > #2  0xffffffff805cbba5 in panic (fmt=3D<value optimized out>) at /usr/s=
rc/sys/kern/kern_shutdown.c:753
> > #3  0xffffffff80879748 in pmap_cache_bits (mode=3D<value optimized out>=
, is_pde=3D<value optimized out>)
> >     at /usr/src/sys/amd64/amd64/pmap.c:863
> > #4  0xffffffff80880fb4 in pmap_enter (pmap=3D0xfffffe01bfa66440, va=3D3=
4636066816, access=3D<value optimized out>,=20
> >     m=3D0xfffffe023dfc1b70, prot=3D<value optimized out>, wired=3D<valu=
e optimized out>)
> >     at /usr/src/sys/amd64/amd64/pmap.c:3456
> > #5  0xffffffff8084ed25 in vm_fault_hold (map=3D0xfffffe01bfa66310, vadd=
r=3D34636066816, fault_type=3D1 '\001',=20
> >     fault_flags=3D<value optimized out>, m_hold=3D0x0) at /usr/src/sys/=
vm/vm_fault.c:914
> > #6  0xffffffff8084f8d3 in vm_fault (map=3D0xfffffe01bfa66310, vaddr=3D3=
4636066816,=20
> >     fault_type=3D<value optimized out>, fault_flags=3D0) at /usr/src/sy=
s/vm/vm_fault.c:224
> > #7  0xffffffff8088593a in trap_pfault (frame=3D0xffffff8239b37ac0, user=
mode=3D1)
> >     at /usr/src/sys/amd64/amd64/trap.c:756
> > #8  0xffffffff80886184 in trap (frame=3D0xffffff8239b37ac0) at /usr/src=
/sys/amd64/amd64/trap.c:363
> > #9  0xffffffff8086f853 in calltrap () at /usr/src/sys/amd64/amd64/excep=
tion.S:228
> > #10 0x000000080b0f2200 in ?? ()
> > Previous frame inner to this frame (corrupt stack?)
> > (kgdb) frame 3
> > #3  0xffffffff80879748 in pmap_cache_bits (mode=3D<value optimized out>=
, is_pde=3D<value optimized out>)
> >     at /usr/src/sys/amd64/amd64/pmap.c:863
> > 863                     panic("Unknown caching mode %d\n", mode);
> > (kgdb) list *0xffffffff80879748
> > 0xffffffff80879748 is at /usr/src/sys/amd64/amd64/pmap.c:863.
> > 858     pmap_cache_bits(int mode, boolean_t is_pde)
> > 859     {
> > 860             int cache_bits, pat_flag, pat_idx;
> > 861    =20
> > 862             if (mode < 0 || mode >=3D PAT_INDEX_SIZE || pat_index[m=
ode] < 0)
> > 863                     panic("Unknown caching mode %d\n", mode);
> > 864    =20
> > 865             /* The PAT bit is different for PTE's and PDE's. */
> > 866             pat_flag =3D is_pde ? PG_PDE_PAT : PG_PTE_PAT;
> > 867    =20
> > (kgdb) frame 4
> > #4  0xffffffff80880fb4 in pmap_enter (pmap=3D0xfffffe01bfa66440, va=3D3=
4636066816, access=3D<value optimized out>,=20
> >     m=3D0xfffffe023dfc1b70, prot=3D<value optimized out>, wired=3D<valu=
e optimized out>)
> >     at /usr/src/sys/amd64/amd64/pmap.c:3456
> > 3456            newpte |=3D pmap_cache_bits(m->md.pat_mode, 0);
> > (kgdb) p *m
> > $1 =3D {pageq =3D {tqe_next =3D 0x0, tqe_prev =3D 0xffffffff80d2f1b8}, =
listq =3D {tqe_next =3D 0x0,=20
> >     tqe_prev =3D 0xfffffe023dfc1b08}, left =3D 0xfffffe023dfc1af8, righ=
t =3D 0x0, object =3D 0xfffffe00219a93a0,=20
> >   pindex =3D 2905, phys_addr =3D 8809881600, md =3D {pv_list =3D {tqh_f=
irst =3D 0x0, tqh_last =3D 0xfffffe023dfc1bb8},=20
> >     pat_mode =3D 8198}, queue =3D 255 '?', segind =3D 10 '\n', hold_cou=
nt =3D 0, order =3D 13 '\r', pool =3D 0 '\0',=20
> >   cow =3D 0, wire_count =3D 0, aflags =3D 0 '\0', oflags =3D 1 '\001', =
flags =3D 0, act_count =3D 0 '\0', busy =3D 0 '\0',=20
> >   valid =3D 255 '?', dirty =3D 0 '\0'}
> > (kgdb) list *0xffffffff80880fb4
> > 0xffffffff80880fb4 is in pmap_enter (/usr/src/sys/amd64/amd64/pmap.c:34=
61).
> > 3456            newpte |=3D pmap_cache_bits(m->md.pat_mode, 0);
> > 3457   =20
> > 3458            mpte =3D NULL;
> > 3459   =20
> > 3460            lock =3D NULL;
> > 3461            rw_rlock(&pvh_global_lock);
> > 3462            PMAP_LOCK(pmap);
> > 3463   =20
> > 3464            /*
> > 3465             * In the case that a page table page is not
> > (kgdb) root@nucleus:/usr/obj/usr/src/sys/NUCLEUS # ^D
> >=20
> > Script done on Fri Jan 11 14:58:54 2013
>=20
> Show the output of p *(struct vm_object *)0xfffffe00219a93a0.
> Do you use zfs or drm2/i915 driver ?
>=20

Yes, I use both drm2/i915 and zfs.  Requested kgdb output follows.

Thanks,

Glen

Script started on Sun Jan 13 13:31:20 2013
root@nucleus:/usr/obj/usr/src/sys/NUCLEUS # kgdb kernel.debug /var/crash/vm=
core.6
[...]
229             __asm("movq %%gs:%1,%0" : "=3Dr" (td)
(kgdb) p *(struct vm_object *)0xfffffe00219a93a0
$1 =3D {mtx =3D {lock_object =3D {lo_name =3D 0xffffffff8099b7a2 "vm object=
", lo_flags =3D 21168128, lo_data =3D 0,=20
      lo_witness =3D 0x0}, mtx_lock =3D 4}, object_list =3D {tqe_next =3D 0=
xfffffe011479c570,=20
    tqe_prev =3D 0xfffffe0139f833c0}, shadow_head =3D {lh_first =3D 0x0}, s=
hadow_list =3D {
    le_next =3D 0xfffffe00914d9740, le_prev =3D 0xfffffe001569ca28}, memq =
=3D {tqh_first =3D 0xfffffe023cec1758,=20
    tqh_last =3D 0xfffffe023dfc1b80}, root =3D 0xfffffe023dfc1b70, size =3D=
 3026, generation =3D 1, ref_count =3D 2,=20
  shadow_count =3D 0, memattr =3D 6 '\006', type =3D 0 '\0', flags =3D 1228=
8, pg_color =3D 64558,=20
  paging_in_progress =3D 1, resident_page_count =3D 1928, backing_object =
=3D 0x0, backing_object_offset =3D 0,=20
  pager_object_list =3D {tqe_next =3D 0x0, tqe_prev =3D 0x0}, rvq =3D {lh_f=
irst =3D 0x0}, cache =3D 0x0, handle =3D 0x0,=20
  un_pager =3D {vnp =3D {vnp_size =3D 5, writemappings =3D 0}, devp =3D {de=
vp_pglist =3D {tqh_first =3D 0x5,=20
        tqh_last =3D 0x0}, ops =3D 0x0}, sgp =3D {sgp_pglist =3D {tqh_first=
 =3D 0x5, tqh_last =3D 0x0}}, swp =3D {
      swp_bcount =3D 5}}, cred =3D 0xfffffe00155d0c00, charge =3D 12394496}
(kgdb) root@nucleus:/usr/obj/usr/src/sys/NUCLEUS # ^D

Script done on Sun Jan 13 13:31:46 2013


--JsihDCElWRmQcbOr
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iQEcBAEBCAAGBQJQ8v4CAAoJEFJPDDeguUaj3tkIAItuvGsr1cQGSaxmsY2o1ZCs
d75kMfW7vJlYibNBfP+9WPVjeS4jhGC5mxk+Fdg4yjQtoQZrbWYgYLK416T3LpHz
8/Cl+pnyVp/+i5/tBAy8KxFKr6S2nZTYXpcpT3l/7aFtwlQKHaJyttrQXKhH/biR
Fk+hAh2TWbBldsp5Pfdcpy5NV2Xa6AOC9ftaMuqdGWYrgtrlsoxB8ibS90aA3Ts1
km0jDKnfyTwni6iDWnUIK9yfS89ErFpg2QMp/ghxcCt24AGR25IUHbI+nEmY8EtY
03XFdp+8RFT3iqypruDT0G/S7OyWo4LJPiotUycSM4VMwntHUSsaJyBsijrdQK8=
=lqK3
-----END PGP SIGNATURE-----

--JsihDCElWRmQcbOr--



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