NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/57833: kernel panic on xorg exit



The following reply was made to PR kern/57833; it has been noted by GNATS.

From: "David H. Gutteridge" <david%gutteridge.ca@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: Taylor R Campbell <riastradh%NetBSD.org@localhost>
Subject: Re: kern/57833: kernel panic on xorg exit
Date: Sun, 14 Jan 2024 00:19:26 -0500

 On Sat, 2024-01-13 at 22:41 +0100, Ramiro Aceves wrote:
 > Hello,
 >=20
 > This is the last recorded crash after Taylor's patch and compiling the
 > kernel with debugging symbols ad David suggested:
 >=20
 > netbsd-compal# dmesg -M /var/crash/netbsd.7.core -N
 > /var/crash/netbsd.7
 >=20
 > ...
 > ...
 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 4.324510] uhid1 at uhidev1 reportid 3: inp=
 ut=3D2, output=3D0,
 > feature=3D0
 > [=C2=A0=C2=A0=C2=A0 16.564698] wsdisplay0: screen 1 added (default, vt100=
  emulation)
 > [=C2=A0=C2=A0=C2=A0 16.564698] wsdisplay0: screen 2 added (default, vt100=
  emulation)
 > [=C2=A0=C2=A0=C2=A0 16.564698] wsdisplay0: screen 3 added (default, vt100=
  emulation)
 > [=C2=A0=C2=A0=C2=A0 16.564698] wsdisplay0: screen 4 added (default, vt100=
  emulation)
 > [=C2=A0=C2=A0 234.752732] uvm_fault(0xc151c400, 0xdd4e8000, 1) -> 0xe
 > [=C2=A0=C2=A0 234.752732] fatal page fault in supervisor mode
 > [=C2=A0=C2=A0 234.752732] trap type 6 code 0 eip 0xc0b02ece cs 0x8 eflags
 > 0x13287=20
 > cr2 0xdd4e8000 ilevel 0x8 esp 0x4bb1a000
 > [=C2=A0=C2=A0 234.752732] curlwp 0xc4341600 pid 0 lid 63 lowest kstack
 > 0xdc7e02c0
 > [=C2=A0=C2=A0 234.752732] panic: trap
 > [=C2=A0=C2=A0 234.752732] cpu0: Begin traceback...
 > [=C2=A0=C2=A0 234.752732]=20
 > vpanic(c1186d04,dc7e1d7c,dc7e1e38,c012fed8,c1186d04,dc7e1e44,dc7e1e44,
 > 3f,dc7e02c0,13287)=20
 > at netbsd:vpanic+0x196
 > [=C2=A0=C2=A0 234.752732]=20
 > panic(c1186d04,dc7e1e44,dc7e1e44,3f,dc7e02c0,13287,dd4e8000,8,4bb1a000
 > ,c157e960)=20
 > at netbsd:panic+0x18
 > [=C2=A0=C2=A0 234.752732] trap() at netbsd:trap+0xd51
 > [=C2=A0=C2=A0 234.752732] --- trap (number 6) ---
 > [=C2=A0=C2=A0 234.752732]=20
 > drm_clflush_virt_range(dd4e8000,1000,0,1000,0,0,c147c8c0,dd4e8000,db6f
 > f000,c5c423c0)=20
 > at netbsd:drm_clflush_virt_range+0x3f
 > [=C2=A0=C2=A0 234.752732]=20
 > i915_gem_object_put_pages_phys(c5c15900,c5c222c4,c5c15900,c5c15900,4,d
 > c7e1f48,c06cd688,c5c15900,54,0)=20
 > at netbsd:i915_gem_object_put_pages_phys+0x15a
 > [=C2=A0=C2=A0 234.752732]=20
 > __i915_gem_object_put_pages(c5c15900,54,0,c0c5dd4f,0,0,c3dff878,0,c5c1
 > 59b0,c5c159ac)=20
 > at netbsd:__i915_gem_object_put_pages+0x70
 > [=C2=A0=C2=A0 234.752732]=20
 > __i915_gem_free_objects(c3dfea1c,c42a2f00,0,0,120,c4341600,c42a2f1c,dc
 > 7e1f78,c42a2f04,c42a2f1c)=20
 > at netbsd:__i915_gem_free_objects+0x104
 > [=C2=A0=C2=A0 234.752732]=20
 > linux_workqueue_thread(c42a2f00,1848000,1853000,0,c01005a8,0,0,0,0,0)
 > at=20
 > netbsd:linux_workqueue_thread+0xe6
 > [=C2=A0=C2=A0 234.752732] cpu0: End traceback...
 >=20
 > [=C2=A0=C2=A0 234.752732] dumping to dev 0,1 offset 1023
 > [=C2=A0=C2=A0 234.752732] dump
 > netbsd-compal#
 >=20
 >=20
 > netbsd-compal# gdb /usr/src/sys/arch/i386/compile/MYKERNEL/netbsd.gdb
 > GNU gdb (GDB) 11.0.50.20200914-git
 > Copyright (C) 2020 Free Software Foundation, Inc.
 > License GPLv3+: GNU GPL version 3 or later=20
 > <http://gnu.org/licenses/gpl.html>
 > This is free software: you are free to change and redistribute it.
 > There is NO WARRANTY, to the extent permitted by law.
 > Type "show copying" and "show warranty" for details.
 > This GDB was configured as "i486--netbsdelf".
 > Type "show configuration" for configuration details.
 > For bug reporting instructions, please see:
 > <https://www.gnu.org/software/gdb/bugs/>.
 > Find the GDB manual and other documentation resources online at:
 > =C2=A0=C2=A0=C2=A0=C2=A0 <http://www.gnu.org/software/gdb/documentation/>=
 .
 >=20
 > For help, type "help".
 > Type "apropos word" to search for commands related to "word"...
 > Reading symbols from
 > /usr/src/sys/arch/i386/compile/MYKERNEL/netbsd.gdb...
 > (gdb) target kvm /var/crash/netbsd.7.core
 > 0xc012d6ed in maybe_dump (howto=3D260) at=20
 > ../../../../arch/i386/i386/machdep.c:725
 > 725			dumpsys();
 > (gdb) frame 0
 > #0=C2=A0 0xc012d6ed in maybe_dump (howto=3D260) at=20
 > ../../../../arch/i386/i386/machdep.c:725
 > 725			dumpsys();
 > (gdb) frame 1
 > #1=C2=A0 cpu_reboot (howto=3Dhowto@entry=3D260, bootstr=3Dbootstr@entry=
 =3D0x0) at=20
 > ../../../../arch/i386/i386/machdep.c:746
 > 746		maybe_dump(howto);
 > (gdb) frame 2
 > #2=C2=A0 0xc0c85e17 in kern_reboot (howto=3Dhowto@entry=3D260,=20
 > bootstr=3Dbootstr@entry=3D0x0) at ../../../../kern/kern_reboot.c:73
 > 73		cpu_reboot(howto, bootstr);
 > (gdb) frame 3
 > #3=C2=A0 0xc0cbc9d8 in vpanic (fmt=3Dfmt@entry=3D0xc1186d04 "trap",
 > ap=3D0xdc7e1d7c=20
 > "D\036~\334D\036~\334?")
 > =C2=A0=C2=A0=C2=A0=C2=A0 at ../../../../kern/subr_prf.c:291
 > 291		kern_reboot(bootopt, NULL);
 > (gdb) frame 4
 > #4=C2=A0 0xc0cbca91 in panic (fmt=3Dfmt@entry=3D0xc1186d04 "trap") at=20
 > ../../../../kern/subr_prf.c:208
 > 208		vpanic(fmt, ap);
 > (gdb) frame 5
 > #5=C2=A0 0xc012fed8 in trap (frame=3D0xdc7e1e44) at=20
 > ../../../../arch/i386/i386/trap.c:358
 > 358			panic("trap");
 > (gdb) frame 6
 > #6=C2=A0 0xc012529b in alltraps ()
 > (gdb) frame 7
 > #7=C2=A0 0xdc7e1e44 in ?? ()
 > (gdb) frame 8
 > #8=C2=A0 0xc06cf74c in i915_gem_object_put_pages_phys (obj=3D<optimized o=
 ut>,
 > pages=3D<optimized out>)
 > =C2=A0=C2=A0=C2=A0=C2=A0 at
 > ../../../../external/bsd/drm2/dist/drm/i915/gem/i915_gem_phys.c:206
 > 206				drm_clflush_virt_range(src,
 > PAGE_SIZE);
 > (gdb)
 > #8=C2=A0 0xc06cf74c in i915_gem_object_put_pages_phys (obj=3D<optimized o=
 ut>,
 > pages=3D<optimized out>)
 > =C2=A0=C2=A0=C2=A0=C2=A0 at
 > ../../../../external/bsd/drm2/dist/drm/i915/gem/i915_gem_phys.c:206
 > 206				drm_clflush_virt_range(src,
 > PAGE_SIZE);
 > (gdb) info locals
 > page =3D 0x40
 > dst =3D 0xdb6ff000 "\377\377\377\377\377\377\377\377"
 > mapping =3D <optimized out>
 > src =3D 0xdd4e8000
 > i =3D <optimized out>
 > dmat =3D <optimized out>
 > vaddr =3D <optimized out>
 > (gdb) frame 9
 > #9=C2=A0 0xc06cf1b2 in __i915_gem_object_put_pages
 > (obj=3Dobj@entry=3D0xc5c15900)
 > =C2=A0=C2=A0=C2=A0=C2=A0 at
 > ../../../../external/bsd/drm2/dist/drm/i915/gem/i915_gem_pages.c:246
 > 246			obj->ops->put_pages(obj, pages);
 > (gdb) info locals
 > pages =3D <optimized out>
 > err =3D <optimized out>
 > (gdb) frame 10
 > #10 0xc06cd688 in __i915_gem_free_objects (i915=3D0xc3dfd004,=20
 > freed=3D<optimized out>)
 > =C2=A0=C2=A0=C2=A0=C2=A0 at=20
 > ../../../../external/bsd/drm2/dist/drm/i915/gem/i915_gem_object.c:257
 > 257			__i915_gem_object_put_pages(obj);
 > (gdb) info locals
 > mmo =3D <optimized out>
 > mn =3D <optimized out>
 > obj =3D 0xc5c15900
 > on =3D 0x0
 > wakeref =3D <optimized out>
 > (gdb) frame 11
 > #11 0xc0aef695 in linux_workqueue_thread (cookie=3D0xc42a2f00) at=20
 > ../../../../external/bsd/common/linux/linux_work.c:455
 > 455					(*func)(work);
 > (gdb) info locals
 > func =3D 0xc06cd7f2 <__i915_gem_free_work>
 > wq =3D 0xc42a2f00
 > q =3D {0x0, 0xc42a2f24}
 > marker =3D {work_owner =3D 3291047360, work_entry =3D {tqe_next =3D 0x0,=
 =20
 > tqe_prev =3D 0xc42a2f1c}, func =3D 0xc42a2f00}
 > work =3D 0xc3dfea1c
 > i =3D <optimized out>
 > (gdb) frame 12
 > #12 0xc0102011 in lwp_trampoline ()
 > (gdb) info locals
 > No symbol table info available.
 > (gdb) frame 13
 > No frame at level 13.
 > (gdb)
 
 This is a different trace than the original one, so seems to be another
 point of failure. Taylor would have to advise here which frame would be
 of interest (my guess would be 8, but I am out of my depth here).
 
 Dave
 


Home | Main Index | Thread Index | Old Index