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: Ramiro Aceves <ea1abz%gmail.com@localhost>
To: Taylor R Campbell <riastradh%NetBSD.org@localhost>
Cc: "David H. Gutteridge" <david%gutteridge.ca@localhost>, gnats-bugs%NetBSD.org@localhost,
 netbsd-bugs%NetBSD.org@localhost, RVP <rvp%SDF.ORG@localhost>
Subject: Re: kern/57833: kernel panic on xorg exit
Date: Wed, 17 Jan 2024 21:09:53 +0100

 El 17/1/24 a las 3:12, Taylor R Campbell escribió:
 > OK, that's frustrating!  Here's one more change, attached as
 > pr57833-i915gempages-v5.diff -- this will print some information that
 > got optimized away and unavailable in gdb.
 > 
 > If it still crashes: Can you find the i915_gem_object_get_pages_phys
 > frame and share the output of `print *obj', in addition to dmesg
 > output and `info locals' in all the frames?
 > 
 > Attached as pr57833-i915gempages-v5.patch is a step-by-step patch
 > series.  If you have the time, and the single giant .diff still
 > doesn't work, it would be helpful if you could use bisection to find
 > where the old symptom goes away and the new symptom appears.  (It's
 > possible I made a mistake in some of the related changes to files
 > other than i915_gem_phys.c.)
 
 Hello Taylor,
 
 Thanks for your help and efforts, I appreciate them very much.
 I have applied v5.diff big patch and ended in a panic just after the 
 startx command. Please see bellow for the details you asked for.
 
 After this, I am not sure how to apply the step by step patch (sorry for 
 my ignorance with all of this things) I think that after getting a fresh 
 kernel files, I have to apply one step patch, then another step patch 
 over the last patch, and so on until the 9th patch. ¿Is there a way to 
 apply them one by one  with a command without spliting the patch in 9 
 small files? ¿One for each email? I think am missing something ;-)
 
 
 Thanks.
 
 
 
 
 netbsd-compal# dmesg -M netbsd.9.core -N netbsd.9
 
 ...
 ...
 
 
 [     1.000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 
 2003,
 [     1.000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 
 2012, 2013,
 [     1.000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 
 2022, 2023,
 [     1.000000]     2024
 [     1.000000]     The NetBSD Foundation, Inc.  All rights reserved.
 [     1.000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
 [     1.000000]     The Regents of the University of California.  All 
 rights reserved.
 
 [     1.000000] NetBSD 10.0_RC2 (MYKERNEL) #5: Wed Jan 17 11:20:28 CET 2024
 [     1.000000] 
 ramiro@netbsd-compal.remigio:/usr/src/sys/arch/i386/compile/MYKERNEL
 [     1.000000] total memory = 2039 MB
 [     1.000000] avail memory = 1978 MB
 [     1.000000] timecounter: Timecounters tick every 10.000 msec
 [     1.000000] Kernelized RAIDframe activated
 [     1.000000] timecounter: Timecounter "i8254" frequency 1193182 Hz 
 quality 100
 [     1.000004] mainbus0 (root)
 [     1.000004] cpu0 at mainbus0
 [     1.000004] ACPI Error: AE_BAD_PARAMETER, Thread 3242924096 could 
 not acquire Mutex [ACPI_MTX_Tables] (0x2) (20221020/utmutex-326)
 [     1.000004] cpu0: Use lfence to serialize rdtsc
 [     1.000004] cpu0: Intel(R) Pentium(R) M processor 1.86GHz, id 0x6d8
 [     1.000004] cpu0: node 0, package 0, core 0, smt 0
 [     1.000004] pci0 at mainbus0 bus 0: configuration mode 1
 [     1.000004] pci0: i/o space, memory space enabled, rd/line, rd/mult, 
 wr/inv ok
 [     1.000004] pchb0 at pci0 dev 0 function 0: Intel 
 82915PM/GM/GMS,82910GML Host Bridge (rev. 0x04)
 [     1.000004] agp0 at pchb0: i915-family chipset
 [     1.000004] agp0: detected 7932k stolen memory
 [     1.000004] agp0: aperture at 0xa0000000, size 0x10000000
 [     1.000004] i915drmkms0 at pci0 dev 2 function 0: Intel 
 82915GM/GMS,82910GML Integrated Graphics Device (rev. 0x04)
 [     1.000004] Intel 82915GM/GMS IGD Companion (miscellaneous display, 
 revision 0x04) at pci0 dev 2 function 1 not configured
 [     1.000004] uhci0 at pci0 dev 29 function 0: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci0: interrupting at irq 7
 [     1.000004] usb0 at uhci0: USB revision 1.0
 [     1.000004] uhci1 at pci0 dev 29 function 1: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci1: interrupting at irq 3
 [     1.000004] usb1 at uhci1: USB revision 1.0
 [     1.000004] uhci2 at pci0 dev 29 function 2: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci2: interrupting at irq 11
 [     1.000004] usb2 at uhci2: USB revision 1.0
 [     1.000004] uhci3 at pci0 dev 29 function 3: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci3: interrupting at irq 11
 [     1.000004] usb3 at uhci3: USB revision 1.0
 [     1.000004] ehci0 at pci0 dev 29 function 7: Intel 82801FB/FR USB 
 EHCI Controller (rev. 0x04)
 [     1.000004] ehci0: 64-bit DMA - limited
 [     1.000004] ehci0: interrupting at irq 7
 [     1.000004] ehci0: EHCI version 1.0
 [     1.000004] ehci0: 4 companion controllers, 2 ports each: uhci0 
 uhci1 uhci2 uhci3
 [     1.000004] ehci0: Using DMA subregion for control data structures
 [     1.000004] usb4 at ehci0: USB revision 2.0
 [     1.000004] ppb0 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI 
 Bridge (rev. 0xd4)
 [     1.000004] pci1 at ppb0 bus 1
 [     1.000004] pci1: i/o space, memory space enabled
 [     1.000004] fwohci0 at pci1 dev 0 function 0: VIA Technologies 
 VT6306 IEEE 1394 Host Controller (rev. 0x80)
 [     1.000004] fwohci0: interrupting at irq 10
 [     1.000004] fwohci0: OHCI version 1.0 (ROM=1)
 [     1.000004] fwohci0: No. of Isochronous channels is 4.
 [     1.000004] fwohci0: EUI64 00:02:3f:59:88:40:01:0f
 [     1.000004] fwohci0: Phy 1394a available S400, 2 ports.
 [     1.000004] fwohci0: Link S400, max_rec 512 bytes.
 [     1.000004] fwohci0: max_rec 512 -> 2048
 [     1.000004] ieee1394if0 at fwohci0: IEEE1394 bus
 [     1.000004] fwip0 at ieee1394if0: IP over IEEE1394
 [     1.000004] fwohci0: Initiate bus reset
 [     1.000004] re0 at pci1 dev 1 function 0: RealTek 8169/8110 Gigabit 
 Ethernet (rev. 0x10)
 [     1.000004] re0: interrupting at irq 11
 [     1.000004] re0: RTL8169/8110SB (0x1000)
 [     1.000004] re0: Ethernet address 00:0f:b0:93:6f:e1
 [     1.000004] re0: using 256 tx descriptors
 [     1.000004] rgephy0 at re0 phy 7: RTL8211B 1000BASE-T media interface
 [     1.000004] rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 
 1000baseT, 1000baseT-FDX, auto
 [     1.000004] iwi0 at pci1 dev 2 function 0: Intel PRO/Wireless LAN 
 2200BG Mini-PCI Adapter (rev. 0x05)
 [     1.000004] iwi0: interrupting at irq 11
 [     1.000004] iwi0: 802.11 address 00:13:ce:6b:7d:01
 [     1.000004] cbb0 at pci1 dev 4 function 0: ENE Technology CB710 
 CardBus Controller (rev. 0x00)
 [     1.000004] ENE Technology product 0530 (flash memory) at pci1 dev 4 
 function 1 not configured
 [     1.000004] sdhc0 at pci1 dev 4 function 2: ENE Technology 
 CB712/714/810 PCI SD Card Reader Controller (rev. 0x00)
 [     1.000004] sdhc0: interrupting at irq 5
 [     1.000004] sdhc0: SDHC 1.0, rev 0, caps <01e021a1/00000000>, SDMA, 
 33000 kHz, HS 3.3V, 512 byte blocks
 [     1.000004] sdmmc0 at sdhc0 slot 0
 [     1.000004] cbb0: cacheline 0x8 lattimer 0x40
 [     1.000004] cbb0: bhlc 0x824008
 [     1.000004] cbb0: autoconfiguration error: secondary bus number 
 uninitialized; try PCI_BUS_FIXUP
 [     1.000004] pci_intr_map: no mapping for pin A (line=ff)
 [     1.000004] cbb0: autoconfiguration error: couldn't map interrupt
 [     1.000004] cardslot0 at cbb0
 [     1.000004] pcmcia0 at cardslot0
 [     1.000004] auich0 at pci0 dev 30 function 2: i82801FB (ICH6) AC-97 
 Audio
 [     1.000004] auich0: interrupting at irq 5
 [     1.000004] auich0: ac97: Avance Logic unknown (0x414c4752) codec; 
 headphone, 20 bit DAC, 18 bit ADC, no 3D stereo
 [     1.000004] auich0: ac97: ext id 0xa07<AC97_23,AMAP,SPDIF,DRA,VRA>
 [     1.000004] Intel 82801FB/FR AC'97 Modem Controller (modem 
 communications, revision 0x04) at pci0 dev 30 function 3 not configured
 [     1.000004] ichlpcib0 at pci0 dev 31 function 0: Intel 82801FBM 
 ICH6M LPC Interface Bridge (rev. 0x04)
 [     1.000004] timecounter: Timecounter "ichlpcib0" frequency 3579545 
 Hz quality 1000
 [     1.006162] ichlpcib0: 24-bit timer
 [     1.006162] tco0 at ichlpcib0: TCO (watchdog) timer configured.
 [     1.006162] tco0: Min/Max interval 1/367 seconds
 [     1.006162] piixide0 at pci0 dev 31 function 1: Intel 82801FB IDE 
 Controller (ICH6) (rev. 0x04)
 [     1.006162] piixide0: bus-master DMA support present
 [     1.006162] piixide0: primary channel configured to compatibility mode
 [     1.006162] piixide0: primary channel interrupting at irq 14
 [     1.006162] atabus0 at piixide0 channel 0
 [     1.006162] piixide0: secondary channel configured to compatibility mode
 [     1.006162] piixide0: secondary channel interrupting at irq 15
 [     1.006162] atabus1 at piixide0 channel 1
 [     1.006162] ichsmb0 at pci0 dev 31 function 3: Intel 82801FB/FR 
 SMBus Controller (rev. 0x04)
 [     1.006162] ichsmb0: interrupting at irq 3
 [     1.006162] iic0 at ichsmb0: I2C bus
 [     1.006162] isa0 at ichlpcib0
 [     1.006162] pckbc0 at isa0 port 0x60-0x64
 [     1.006162] pckbd0 at pckbc0 (kbd slot)
 [     1.006162] pckbc0: using irq 1 for kbd slot
 [     1.006162] wskbd0 at pckbd0: console keyboard
 [     1.006162] pms0 at pckbc0 (aux slot)
 [     1.006162] pms0: ALPS PS/2 V2 pointing device
 [     1.006162] pckbc0: using irq 12 for aux slot
 [     1.006162] wsmouse0 at pms0 mux 0
 [     1.006162] attimer0 at isa0 port 0x40-0x43
 [     1.006162] pcppi0 at isa0 port 0x61
 [     1.006162] midi0 at pcppi0: PC speaker
 [     1.006162] sysbeep0 at pcppi0
 [     1.006162] attimer0: attached to pcppi0
 [     1.006162] est0 at cpu0: Enhanced SpeedStep
 [     1.006162] fwohci0: BUS reset
 [     1.006162] fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode
 [     1.006162] ieee1394if0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
 [     1.006162] ieee1394if0: bus manager 0
 [     1.243701] timecounter: Timecounter "clockinterrupt" frequency 100 
 Hz quality 0
 [     1.574365] auich0: measured ac97 link rate at 48000 Hz
 [     1.574365] audio0 at auich0: playback, capture, full duplex, 
 independent
 [     1.574365] audio0: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) 
 for playback
 [     1.574365] audio0: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) 
 for recording
 [     1.574365] uhub0 at usb0: NetBSD (0x0000) UHCI root hub (0x0000), 
 class 9/0, rev 1.00/1.00, addr 1
 [     1.574365] uhub0: 2 ports with 2 removable, self powered
 [     1.574365] uhub1 at usb1: NetBSD (0x0000) UHCI root hub (0x0000), 
 class 9/0, rev 1.00/1.00, addr 1
 [     1.584368] uhub1: 2 ports with 2 removable, self powered
 [     1.584368] uhub2 at usb2: NetBSD (0x0000) UHCI root hub (0x0000), 
 class 9/0, rev 1.00/1.00, addr 1
 [     1.584368] uhub2: 2 ports with 2 removable, self powered
 [     1.584368] uhub3 at usb3: NetBSD (0x0000) UHCI root hub (0x0000), 
 class 9/0, rev 1.00/1.00, addr 1
 [     1.584368] uhub3: 2 ports with 2 removable, self powered
 [     1.584368] uhub4 at usb4: NetBSD (0x0000) EHCI root hub (0x0000), 
 class 9/0, rev 2.00/1.00, addr 1
 [     1.584368] uhub4: 8 ports with 8 removable, self powered
 [     1.594366] atapibus0 at atabus0: 2 targets
 [     1.594366] IPsec: Initialized Security Association Processing.
 [     1.674366] cd0 at atapibus0 drive 1: <TSSTcorpCD/DVDW TS-L632B, 
 95WK401090, TI33> cdrom removable
 [     1.684366] cd0: 32-bit data port
 [     1.684366] cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA 
 mode 2 (Ultra/33)
 [     1.684366] wd0 at atabus0 drive 0
 [     1.684366] wd0: <IC25N080ATMR04-0>
 [     1.684366] wd0: drive supports 16-sector PIO transfers, LBA48 
 addressing
 [     1.684366] wd0: 76319 MB, 155061 cyl, 16 head, 63 sec, 512 
 bytes/sect x 156301488 sectors
 [     2.124373] wd0: 32-bit data port
 [     2.124373] wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA 
 mode 5 (Ultra/100)
 [     2.124373] wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 
 (Ultra/100) (using DMA)
 [     2.124373] cd0(piixide0:0:1): using PIO mode 4, Ultra-DMA mode 2 
 (Ultra/33) (using DMA)
 [     2.134373] swwdog0: software watchdog initialized
 [     2.174373] WARNING: 2 errors while detecting hardware; check system 
 log.
 [     2.174373] boot device: wd0
 [     2.174373] root on wd0a dumps on wd0b
 [     2.204374] root file system type: ffs
 [     2.214374] kern.module.path=/stand/i386/10.0/modules
 [     2.214374] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
 [     2.214374] [drm] Driver supports precise vblank timestamp query.
 [     2.214374] i915drmkms0: interrupting at irq 11 (i915drmkms0)
 [     2.254375] [drm] Initialized overlay support.
 [     2.254375] [drm] Initialized i915 1.6.0 20200114 for i915drmkms0 on 
 minor 0
 [     2.394380] intelfb0 at i915drmkms0
 [     2.394380] [drm] DRM_I915_DEBUG enabled
 [     2.394380] [drm] DRM_I915_DEBUG_GEM enabled
 [     2.394380] intelfb0: framebuffer at 0xa0009000, size 1280x800, 
 depth 32, stride 5120
 [     3.034388] wsdisplay0 at intelfb0 kbdmux 1: console (default, vt100 
 emulation), using wskbd0
 [     3.034388] wsmux1: connecting to wsdisplay0
 [    17.214604] wsdisplay0: screen 1 added (default, vt100 emulation)
 [    17.214604] wsdisplay0: screen 2 added (default, vt100 emulation)
 [    17.214604] wsdisplay0: screen 3 added (default, vt100 emulation)
 [    17.214604] wsdisplay0: screen 4 added (default, vt100 emulation)
 [    64.776202] bus_dmamem_kmap: t=0xc147d8c0 segs=0xc5c20a34 nsegs=1 
 size=0x4000 kvap=0xdcbeead0 flags=0x4
 [    64.776202] panic: _bus_dmamem_kmap: size botch
 [    64.776202] cpu0: Begin traceback...
 [    64.776202] 
 vpanic(c1214668,dcbeea90,dcbeeae4,c06cfeba,c1214668,0,0,4,1,4000) at 
 netbsd:vpanic+0x196
 [    64.776202] panic(c1214668,0,0,4,1,4000,dcbeead0,4,c5c20a5c,0) at 
 netbsd:panic+0x18
 [    64.776202] 
 i915_gem_object_get_pages_phys(c5c20900,1,2,c4353004,c4348804,c434a084,c4353000,c53b1c44,c5340a04,1) 
 at netbsd:i915_gem_object_get_pages_phys+0x54a
 [    64.786211] 
 i915_gem_object_attach_phys(c5c20900,1000,c0af86a4,c3dfd004,c5c20900,c5c20a18,dcbeeb6c,c0673d15,c5c20a18,1) 
 at netbsd:i915_gem_object_attach_phys+0xb4
 [    64.786211] 
 intel_plane_pin_fb(c5c20a18,1,2,c0b2f8a8,c4352010,c4353000,c3dfd004,c50f1004,c4352004,c50f1004) 
 at netbsd:intel_plane_pin_fb+0x62
 [    64.786211] 
 intel_prepare_plane_fb(c434a084,c53b1c44,c3dff878,10001,c50f1004,c4353004,c3dff878,dcbeebb8,c066abaf,c3dfd004) 
 at netbsd:intel_prepare_plane_fb+0xcf
 [    64.786211] 
 drm_atomic_helper_prepare_planes(c3dfd004,c50f1004,1,c50f1564,0,c50f1004,c3dfd004,c53b1c44,dcbeebd4,c0af8aa5) 
 at netbsd:drm_atomic_helper_prepare_planes+0x7a
 [    64.786211] 
 intel_atomic_commit(c3dfd004,c50f1004,0,c434a084,c50f1004,dcbeebfc,c0afde70,c50f1004,c5340a04,40) 
 at netbsd:intel_atomic_commit+0x9c
 [    64.796205] 
 drm_atomic_commit(c50f1004,c5340a04,40,0,400000,c434a084,c5340a04,18f,dcbeec64,c0b2b394) 
 at netbsd:drm_atomic_commit+0x52
 [    64.796205] 
 drm_atomic_helper_update_plane(c434a084,c4348804,c5340a04,27f,18f,40,40,0,0,400000) 
 at netbsd:drm_atomic_helper_update_plane+0xd9
 [    64.796205] 
 __setplane_atomic(27f,18f,40,40,0,0,400000,400000,dcbeecb8,400000) at 
 netbsd:__setplane_atomic+0x10b
 [    64.796205] 
 drm_mode_cursor_common(3,2c,27f,18f,40,40,b,0,0,dcbeee54) at 
 netbsd:drm_mode_cursor_common+0x261
 [    64.796205] 
 drm_mode_cursor_ioctl(c3dfd004,dcbeeeac,c5bfa004,dcbeedc4,1c,dcbeeeac,63,dcbeedc4,c3dfd360,c5bfa004) 
 at netbsd:drm_mode_cursor_ioctl+0x4e
 [    64.796205] 
 drm_ioctl(c5b908c0,c01c64a3,dcbeeeac,dcbeef38,c0cc9867,c5b908c0,c01c64a3,dcbeeeac,c0c453b7,c429fd24) 
 at netbsd:drm_ioctl+0x42d
 [    64.806208] 
 drm_ioctl_shim(c5b908c0,c01c64a3,dcbeeeac,c0c453b7,c429fd24,dcbeef10,0,c5bcc178,c5b908c0,0) 
 at netbsd:drm_ioctl_shim+0x43
 [    64.806208] 
 sys_ioctl(c4361940,dcbeef68,dcbeef60,c5339500,0,36,dcbeef60,dcbeef68,0,0) 
 at netbsd:sys_ioctl+0x35b
 [    64.806208] syscall() at netbsd:syscall+0x1d6
 [    64.806208] --- syscall (number 54) ---
 [    64.806208] b96fbdc7:
 [    64.806208] cpu0: End traceback...
 
 [    64.806208] dumping to dev 0,1 offset 1023
 [    64.806208] dump
 
 
 
 
 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 
 <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:
      <http://www.gnu.org/software/gdb/documentation/>.
 
 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.9.core
 0xc012d6ed in maybe_dump (howto=260) at 
 ../../../../arch/i386/i386/machdep.c:725
 725			dumpsys();
 (gdb) frame 0
 #0  0xc012d6ed in maybe_dump (howto=260) at 
 ../../../../arch/i386/i386/machdep.c:725
 725			dumpsys();
 (gdb) info locals
 s = 0
 s = <optimized out>
 (gdb) frame 1
 #1  cpu_reboot (howto=howto@entry=260, bootstr=bootstr@entry=0x0)
      at ../../../../arch/i386/i386/machdep.c:746
 746		maybe_dump(howto);
 (gdb) info locals
 syncdone = false
 s = 0
 (gdb) frame 2
 #2  0xc0c85dd7 in kern_reboot (howto=howto@entry=260, 
 bootstr=bootstr@entry=0x0)
      at ../../../../kern/kern_reboot.c:73
 73		cpu_reboot(howto, bootstr);
 (gdb) info locals
 rebooter = 0xc4361940
 l = 0x0
 (gdb) frame 3
 #3  0xc0cbc998 in vpanic (fmt=fmt@entry=0xc1214668 "_bus_dmamem_kmap: 
 size botch",
      ap=0xdcbeea90 "") at ../../../../kern/subr_prf.c:291
 291		kern_reboot(bootopt, NULL);
 (gdb) info locals
 cii = <optimized out>
 ci = <optimized out>
 oci = <optimized out>
 bootopt = 260
 scratchstr = "_bus_dmamem_kmap: size botch", '\000' <repeats 355 times>
 (gdb) frame 4
 #4  0xc0cbca51 in panic (fmt=fmt@entry=0xc1214668 "_bus_dmamem_kmap: 
 size botch")
      at ../../../../kern/subr_prf.c:208
 208		vpanic(fmt, ap);
 (gdb) info locals
 ap = 0xdcbeea90 ""
 (gdb) frame 5
 #5  0xc06cfeba in bus_dmamem_kmap (nsegs=1, flags=4, kvap=0xdcbeead0,
      size=<optimized out>, segs=0xc5c20a34, t=0xc147d8c0 <pci_bus_dma_tag>)
      at ../../../../external/bsd/drm2/dist/drm/i915/gem/i915_gem_phys.c:69
 69					panic("_bus_dmamem_kmap: size botch");
 (gdb) info locals
 kmflags = 0
 pmapflags = 19
 va = <optimized out>
 addr = <optimized out>
 curseg = 0
 va = <optimized out>
 addr = <optimized out>
 curseg = <optimized out>
 kmflags = <optimized out>
 pmapflags = <optimized out>
 __func__ = "bus_dmamem_kmap"
 (gdb) frame 6
 #6  i915_gem_object_get_pages_phys (obj=0xc5c20900)
      at ../../../../external/bsd/drm2/dist/drm/i915/gem/i915_gem_phys.c:149
 149		ret = -bus_dmamem_kmap(dmat, &obj->mm.u.phys.seg, 1,
 (gdb) info locals
 mapping = 0xc5c61300
 sg = <optimized out>
 st = <optimized out>
 dma = <optimized out>
 vaddr = 0xdb5b4000
 dst = <optimized out>
 i = <optimized out>
 dmat = 0xc147d8c0 <pci_bus_dma_tag>
 loaded = false
 rsegs = 1
 ret = <optimized out>
 (gdb) print *obj
 $1 = {base = {refcount = {kr_count = 3}, handle_count = 1, dev = 
 0xc3dfd004,
      filp = 0xc5c61300, gemo_uvmobj = {vmobjlock = 0xc5c706c0,
        pgops = 0xc1086780 <i915_gem_uvm_ops>, uo_npages = 0, uo_refs = 
 1, uo_pages = {
          t_root = 0x0, t_height = 0}, uo_ubc = {lh_first = 0x0}}, 
 vma_node = {von_lock = {
          rw_owner = 0}, von_startpage = 0, von_npages = 0, von_files = {
          rbt_root = 0xc5b2c914, rbt_ops = 0xc11480ec 
 <drm_vma_file_rb_ops>, rbt_minmax = {
            0xc5b2c914, 0xc5b2c914}}, von_rb_node = {rb_nodes = {0x0, 
 0x0}, rb_info = 0},
        readonly = false}, size = 16384, name = 0, dma_buf = 0x0, 
 import_attach = 0x0,
      resv = 0xc5c2096c, _resv = {lock = {wwm_state = 0 '\000', wwm_debug 
 = false, wwm_u = {
            owner = 0x0, ctx = 0x0}, wwm_lock = {u = {mtxa_owner = 1537, 
 s = {
                mtxs_dummy = 1 '\001', mtxs_ipl = {_ipl = 6 '\006'}, 
 mtxs_lock = 0 '\000',
                mtxs_unused = 0 '\000'}}},
          wwm_class = 0xc14d1cc0 <linux_reservation_ww_class>, 
 wwm_waiters = {
            rbt_root = 0x0, rbt_ops = 0xc117b290 <ww_acquire_ctx_rb_ops>, 
 rbt_minmax = {0x0,
              0x0}}, wwm_cv = {cv_opaque = {0x0, 0xc1276960}}}, seq = 
 {sqc_gen = 0},
        fence_excl = 0x0, fence = 0x0, robj_prealloc = 0x0}, funcs = 0x0},
    ops = 0xc10867e0 <i915_gem_phys_ops>, vma = {lock = {sl_lock = {u = 
 {mtxa_owner = 1537,
            s = {mtxs_dummy = 1 '\001', mtxs_ipl = {_ipl = 6 '\006'}, 
 mtxs_lock = 0 '\000',
              mtxs_unused = 0 '\000'}}}}, list = {prev = 0xc4355f80, next 
 = 0xc4355f80},
      tree = {rbr_tree = {rbt_root = 0xc4355f88, rbt_ops = 0xc10903fc 
 <vma_tree_rb_ops>,
          rbt_minmax = {0xc4355f88, 0xc4355f88}}}}, lut_list = {prev = 
 0xc5c209c8,
      next = 0xc5c209c8}, stolen = 0x0, {rcu = {rcuh_u = {callback = 0x0, 
 obj = 0x0},
        rcuh_next = 0x0}, freed = {next = 0x0}}, userfault_count = 0, 
 userfault_link = {
      prev = 0x2, next = 0x1}, mmo = {lock = {sl_lock = {u = {mtxa_owner 
 = 1537, s = {
              mtxs_dummy = 1 '\001', mtxs_ipl = {_ipl = 6 '\006'}, 
 mtxs_lock = 0 '\000',
              mtxs_unused = 0 '\000'}}}}, offsets = {0xc5bcc144, 0x0, 
 0x0, 0x0}}, flags = 0,
    cache_level = 0, cache_coherent = 0, cache_dirty = 0, read_domains = 64,
    write_domain = 64, frontbuffer = 0xc5c4b184, tiling_and_stride = 0, 
 bind_count = {a_u = {
 --Type <RET> for more, q to quit, c to continue without paging--
        au_int = 0, au_uint = 0}}, mm = {lock = {mtx_lock = {u = 
 {mtxa_owner = 3291879744,
            s = {mtxs_dummy = 64 '@', mtxs_ipl = {_ipl = 25 '\031'}, 
 mtxs_lock = 54 '6',
              mtxs_unused = 196 '\304'}}}}, pages_pin_count = {a_u = 
 {au_int = 1,
          au_uint = 1}}, shrink_pin = {a_u = {au_int = 1, au_uint = 1}},
      region = 0xc4290f04, blocks = {prev = 0xc5c20a24, next = 
 0xc5c20a24}, region_link = {
        prev = 0xc4290fe0, next = 0xc5c2086c}, u = {internal = {segs = 
 0x4afb8000,
          nsegs = 16384, rsegs = 0}, phys = {seg = {ds_addr = 1257996288, 
 ds_len = 16384},
          kva = 0x0}}, pages = 0x0, mapping = 0x0, page_sizes = {phys = 
 0, sg = 0, gtt = 0},
      get_page = {sg_pos = 0x0, sg_idx = 0, radix = {rtr_tree = {t_root = 
 0x0,
            t_height = 0}, rtr_lock = 0 '\000'}, lock = {mtx_lock = {u = 
 {mtxa_owner = 0,
              s = {mtxs_dummy = 0 '\000', mtxs_ipl = {_ipl = 0 '\000'},
                mtxs_lock = 0 '\000', mtxs_unused = 0 '\000'}}}}}, link = {
        prev = 0xc5c20a6c, next = 0xc5c20a6c}, madv = 0, dirty = true, 
 quirked = false},
    bit_17 = 0x0, {userptr = {ptr = 0, mm = 0x0, mmu_object = 0x0, work = 
 0x0}, scratch = 0,
      gvt_info = 0x0}}
 (gdb) frame 7
 #7  0xc06cffd9 in i915_gem_object_attach_phys (obj=0xc5c20900, align=4096)
      at ../../../../external/bsd/drm2/dist/drm/i915/gem/i915_gem_phys.c:381
 381		err = ____i915_gem_object_get_pages(obj);
 (gdb) info locals
 pages = 0xc5c352e4
 err = <optimized out>
 (gdb) frame 8
 #8  0xc06653cb in intel_plane_pin_fb 
 (plane_state=plane_state@entry=0xc53b1c44)
      at 
 ../../../../external/bsd/drm2/dist/drm/i915/display/intel_display.c:15729
 15729			err = i915_gem_object_attach_phys(obj, align);
 (gdb) info locals
 obj = <optimized out>
 align = <optimized out>
 err = <optimized out>
 plane = <optimized out>
 dev_priv = <optimized out>
 fb = 0xc5340a04
 vma = <optimized out>
 (gdb) frame 9
 #9  0xc0673d15 in intel_prepare_plane_fb (plane=0xc434a084, 
 _new_plane_state=0xc53b1c44)
      at 
 ../../../../external/bsd/drm2/dist/drm/i915/display/intel_display.c:15832
 15832		ret = intel_plane_pin_fb(new_plane_state);
 (gdb) info locals
 new_plane_state = 0xc53b1c44
 intel_state = 0xc50f1004
 dev_priv = 0xc3dfd004
 fb = <optimized out>
 obj = 0xc5c20900
 old_obj = <optimized out>
 ret = <optimized out>
 (gdb) frame 10
 #10 0xc0afcd98 in drm_atomic_helper_prepare_planes (dev=<optimized out>,
      state=<optimized out>)
      at ../../../../external/bsd/drm2/dist/drm/drm_atomic_helper.c:2399
 2399				ret = funcs->prepare_fb(plane, new_plane_state);
 (gdb) info locals
 funcs = <optimized out>
 connector = <optimized out>
 new_plane_state = <optimized out>
 ret = <optimized out>
 i = 3
 new_conn_state = <optimized out>
 plane = <optimized out>
 j = <optimized out>
 connector = <optimized out>
 new_conn_state = <optimized out>
 plane = <optimized out>
 new_plane_state = <optimized out>
 ret = <optimized out>
 i = <optimized out>
 j = <optimized out>
 fail = <optimized out>
 funcs = <optimized out>
 funcs = <optimized out>
 (gdb) frame 11
 #11 drm_atomic_helper_prepare_planes (dev=0xc3dfd004, 
 state=state@entry=0xc50f1004)
      at ../../../../external/bsd/drm2/dist/drm/drm_atomic_helper.c:2375
 2375	int drm_atomic_helper_prepare_planes(struct drm_device *dev,
 (gdb) info locals
 connector = <optimized out>
 new_conn_state = <optimized out>
 plane = <optimized out>
 new_plane_state = <optimized out>
 ret = <optimized out>
 i = <optimized out>
 j = <optimized out>
 fail = <optimized out>
 funcs = <optimized out>
 funcs = <optimized out>
 (gdb) frame 12
 #12 0xc066abaf in intel_atomic_prepare_commit (state=0xc50f1004)
      at 
 ../../../../external/bsd/drm2/dist/drm/i915/display/intel_display.c:14760
 14760		return drm_atomic_helper_prepare_planes(state->base.dev,
 (gdb) info locals
 No locals.
 (gdb) frame 13
 #13 intel_atomic_commit (dev=0xc3dfd004, _state=0xc50f1004, nonblock=false)
      at 
 ../../../../external/bsd/drm2/dist/drm/i915/display/intel_display.c:15595
 15595		ret = intel_atomic_prepare_commit(state);
 (gdb) info locals
 state = 0xc50f1004
 dev_priv = 0xc3dfd004
 ret = 0
 (gdb) frame 14
 #14 0xc0af8aa5 in drm_atomic_commit (state=state@entry=0xc50f1004)
      at ../../../../external/bsd/drm2/dist/drm/drm_atomic.c:1238
 1238		return config->funcs->atomic_commit(state->dev, state, false);
 (gdb) info locals
 config = 0xc3dfd0c8
 ret = <optimized out>
 (gdb) frame 15
 #15 0xc0afde70 in drm_atomic_helper_update_plane (plane=0xc434a084, 
 crtc=0xc4348804,
      fb=0xc5340a04, crtc_x=639, crtc_y=399, crtc_w=64, crtc_h=64, 
 src_x=0, src_y=0,
      src_w=4194304, src_h=4194304, ctx=0xdcbeecb8)
      at ../../../../external/bsd/drm2/dist/drm/drm_atomic_helper.c:2910
 2910		ret = drm_atomic_commit(state);
 (gdb) info locals
 state = 0xc50f1004
 plane_state = 0xc53b1c44
 ret = 0
 (gdb) frame 16
 #16 0xc0b2b394 in __setplane_atomic (plane=plane@entry=0xc434a084,
      crtc=crtc@entry=0xc4348804, fb=fb@entry=0xc5340a04, 
 crtc_x=crtc_x@entry=639,
      crtc_y=crtc_y@entry=399, crtc_w=64, crtc_h=64, src_x=src_x@entry=0,
      src_y=src_y@entry=0, src_w=src_w@entry=4194304, 
 src_h=src_h@entry=4194304,
      ctx=ctx@entry=0xdcbeecb8) at 
 ../../../../external/bsd/drm2/dist/drm/drm_plane.c:761
 761		return plane->funcs->update_plane(plane, crtc, fb,
 (gdb) info locals
 ret = <optimized out>
 (gdb) frame 17
 #17 0xc0b2b7cd in drm_mode_cursor_universal (ctx=0xdcbeecb8, 
 file_priv=0xc5bfa004,
      req=0xdcbeed64, crtc=0xc4348804)
      at ../../../../external/bsd/drm2/dist/drm/drm_plane.c:914
 914			ret = __setplane_atomic(plane, crtc, fb,
 (gdb) info locals
 plane = 0xc434a084
 fbreq = {fb_id = 0, width = 64, height = 64, pixel_format = 875713089, 
 flags = 0,
    handles = {11, 0, 0, 0}, pitches = {256, 0, 0, 0}, offsets = {0, 0, 
 0, 0}, modifier = {
      0, 0, 0, 0}}
 crtc_x = 639
 crtc_y = 399
 src_w = 4194304
 src_h = 4194304
 ret = 0
 dev = 0xc3dfd004
 fb = 0xc5340a04
 crtc_w = <optimized out>
 crtc_h = <optimized out>
 dev = <optimized out>
 plane = <optimized out>
 fb = <optimized out>
 fbreq = {fb_id = <optimized out>, width = <optimized out>, height = 
 <optimized out>,
    pixel_format = <optimized out>, flags = <optimized out>, handles = 
 {<optimized out>,
      <optimized out>, <optimized out>, <optimized out>}, pitches = 
 {<optimized out>,
      <optimized out>, <optimized out>, <optimized out>}, offsets = 
 {<optimized out>,
      <optimized out>, <optimized out>, <optimized out>}, modifier = 
 {<optimized out>,
      <optimized out>, <optimized out>, <optimized out>}}
 crtc_x = <optimized out>
 crtc_y = <optimized out>
 crtc_w = <optimized out>
 crtc_h = <optimized out>
 src_w = <optimized out>
 src_h = <optimized out>
 --Type <RET> for more, q to quit, c to continue without paging--
 ret = <optimized out>
 (gdb) frame 18
 #18 drm_mode_cursor_common (dev=dev@entry=0xc3dfd004, 
 req=req@entry=0xdcbeed64,
      file_priv=file_priv@entry=0xc5bfa004)
      at ../../../../external/bsd/drm2/dist/drm/drm_plane.c:973
 973			ret = drm_mode_cursor_universal(crtc, req, file_priv, &ctx);
 (gdb) info locals
 crtc = 0xc4348804
 ctx = {ww_ctx = {wwx_class = 0xc14ab70c <crtc_ww_class>, wwx_owner = 
 0xc4361940,
      wwx_ticket = 37, wwx_acquired = 2, wwx_acquire_done = false, 
 wwx_rb_node = {
        rb_nodes = {0x0, 0x0}, rb_info = 0}}, contended = 0x0, locked = 
 {prev = 0xc4348840,
      next = 0xc434a0bc}, trylock_only = false, interruptible = true}
 ret = <optimized out>
 (gdb) frame 19
 #19 0xc0b2be1b in drm_mode_cursor_ioctl (dev=0xc3dfd004, data=0xdcbeeeac,
      file_priv=0xc5bfa004) at 
 ../../../../external/bsd/drm2/dist/drm/drm_plane.c:1023
 1023		return drm_mode_cursor_common(dev, &new_req, file_priv);
 (gdb) info locals
 req = 0xdcbeeeac
 new_req = {flags = 3, crtc_id = 44, x = 639, y = 399, width = 64, height 
 = 64,
    handle = 11, hot_x = 0, hot_y = 0}
 (gdb) frame 20
 #20 0xc0b23bac in drm_ioctl (fp=<optimized out>, cmd=<optimized out>, 
 data=<optimized out>)
      at ../../../../external/bsd/drm2/dist/drm/drm_ioctl.c:968
 968			error = -(*ioctl->func)(dev, data0, file);
 (gdb) info locals
 stackbuf = 
 "B\000\000\000@\035\277\305P\375)\304\000\000\257\266\000\000\000\000\000\000\000\000\060\001\000\000\000\000\000\000\000\301\274\305\000\000\000\000\000\000\000\001\000\000\000\000\003\000\000\000\000\000\000\000@{\272\305\001\000\000\000$\375)\304\000\340\256\266\000\020\000\000$\375)\304|\004\000\000\000\v\303\305\000\020\000\000\002\000\000\000\000\340\256\266\001\000\000\000\000\000\000\000\001\000\000\001\003", 
 '\000' <repeats 11 times>, "\001\000\000"
 buf = 0xdcbeedc4 "B"
 data0 = 0xdcbeeeac
 file = <optimized out>
 nr = <optimized out>
 error = <optimized out>
 dev = 0xc3dfd004
 ioctl = <optimized out>
 is_driver_ioctl = <optimized out>
 (gdb) frame 21
 #21 0xc0af1d86 in drm_ioctl_shim (fp=0xc5b908c0, cmd=3223086243, 
 data=0xdcbeeeac)
      at ../../../../external/bsd/drm2/drm/drm_cdevsw.c:393
 393			error = drm_ioctl(fp, cmd, data);
 (gdb) info locals
 file = <optimized out>
 driver = <optimized out>
 error = <optimized out>
 (gdb) frame 22
 #22 0xc0cc9867 in sys_ioctl (l=<optimized out>, uap=<optimized out>,
      retval=<optimized out>) at ../../../../kern/sys_generic.c:675
 675			error = (*fp->f_ops->fo_ioctl)(fp, com, data);
 (gdb) info locals
 fp = <optimized out>
 p = <optimized out>
 com = <optimized out>
 error = <optimized out>
 size = <optimized out>
 alloc_size = <optimized out>
 data = 0xdcbeeeac
 memp = 0x0
 stkbuf = {3, 44, 639, 399, 64, 64, 11, 262, 3291879744, 2, 3703500700, 
 3222468089,
    3291086116, 3064913920, 2, 0, 0, 1, 3, 1, 3317481848, 3291086116, 0, 
 3064913920,
    3064913920, 3291086116, 0, 3291065536, 3703492608, 3703500712, 0, 0}
 (gdb) frame 23
 #23 0xc049b4c6 in sy_call (rval=0xdcbeef60, uap=0xdcbeef68, l=0xc4361940,
      sy=0xc14ae998 <sysent+1080>) at ../../../../sys/syscallvar.h:65
 65		error = (*sy->sy_call)(l, uap, rval);
 (gdb) info locals
 error = <optimized out>
 error = <optimized out>
 (gdb) frame 24
 #24 sy_invoke (code=<optimized out>, rval=0xdcbeef60, uap=0xdcbeef68, 
 l=0xc4361940,
      sy=0xc14ae998 <sysent+1080>) at ../../../../sys/syscallvar.h:94
 94			error = sy_call(sy, l, uap, rval);
 (gdb) info locals
 do_trace = <optimized out>
 error = <optimized out>
 do_trace = <optimized out>
 error = <optimized out>
 (gdb) frame 25
 #25 syscall (frame=0xdcbeefa8) at ../../../../arch/x86/x86/syscall.c:138
 138		error = sy_invoke(callp, l, args, rval, code);
 (gdb) info locals
 callp = 0xc14ae998 <sysent+1080>
 p = <optimized out>
 l = 0xc4361940
 error = <optimized out>
 code = <optimized out>
 rval = {0, 0}
 args = {10, -1071881053, -1078530356, -1195388928, 10, 0, 281542656, 0, 
 -1195388928,
    -1078530476}
 (gdb) frame 26
 #26 0xc0102230 in Xsyscall ()
 (gdb) info locals
 No symbol table info available.
 (gdb) frame 27
 #27 0xdcbeefa8 in ?? ()
 (gdb) info locals
 No symbol table info available.
 (gdb) frame 28
 No frame at level 28.
 (gdb)
 
 
 Thanks
 Ramiro.
 


Home | Main Index | Thread Index | Old Index