NetBSD-Bugs archive

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

kern/50448: Xorg on 82G33/G31 Express Integrated Graphics Controller hangs



>Number:         50448
>Category:       kern
>Synopsis:       Xorg on 82G33/G31 Express Integrated Graphics Controller hangs
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Nov 19 16:20:00 +0000 2015
>Originator:     Greg Oster
>Release:        NetBSD 7.0
>Organization:
>Environment:
	
	
System: NetBSD quad 7.0 NetBSD 7.0 (QUAD) #0: Mon Sep 28 11:54:36 CST 2015 oster@quad:/u1/builds/build265/src/obj/amd64/u1/builds/build265/src/sys/arch/amd64/compile/QUAD amd64
Architecture: x86_64
Machine: amd64
>Description:

While attempting to use X11 on a:

 00:02.0 VGA compatible controller: Intel Corporation 82G33/G31
 Express Integrated Graphics Controller (rev 02) 

graphics chipset, the X11 display freezes.  This freeze can last from
seconds to minutes, to hours, to days.  A little kernel sleuthing has
determined that the hang is here:

(gdb) where
#0  0xffffffff805b0179 in mi_switch (l=l@entry=0xfffffe811b981560) at /u1/builds/build265/src/sys/kern/kern_synch.c:719
#1  0xffffffff805adcd2 in sleepq_block (timo=timo@entry=0, catch=catch@entry=false) at /u1/builds/build265/src/sys/kern/kern_sleepq.c:264
#2  0xffffffff805afdb1 in mtsleep (ident=0xffffffff810a3010 <uvmexp+16>, priority=priority@entry=516, wmesg=wmesg@entry=0xffffffff80d0f17a "age", 
    timo=<optimized out>, mtx=0xffffffff810a2fd0 <uvm_fpageqlock>) at /u1/builds/build265/src/sys/kern/kern_synch.c:210
#3  0xffffffff8093a188 in uvm_wait (wmsg=wmsg@entry=0xffffffff80d0f17a "age") at /u1/builds/build265/src/sys/uvm/uvm_pdaemon.c:162
#4  0xffffffff80929c87 in uao_get (uobj=0xfffffe810835dd78, offset=<optimized out>, pps=<optimized out>, npagesp=<optimized out>, centeridx=0, 
    access_type=<optimized out>, advice=2, flags=18) at /u1/builds/build265/src/sys/uvm/uvm_aobj.c:1013
#5  0xffffffff80936ff5 in uvm_obj_wirepages (uobj=uobj@entry=0xfffffe810835dd78, start=start@entry=0, end=end@entry=6815744, list=list@entry=0xfffffe8072839f30)
    at /u1/builds/build265/src/sys/uvm/uvm_object.c:142
#6  0xffffffff803886f0 in bus_dmamem_wire_uvm_object (start=0, tag=<optimized out>, alignment=4096, boundary=0, flags=1, rsegs=0xfffffe8072839f48, nsegs=1664, 
    segs=0xffff800008a41000, pages=0xfffffe8072839f30, size=6815744, uobj=0xfffffe810835dd78)
    at /u1/builds/build265/src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h:81
#7  i915_gem_object_get_pages_gtt (obj=0xfffffe8072839e00) at /u1/builds/build265/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:2580
#8  0xffffffff8038935f in i915_gem_object_get_pages (obj=0xfffffe8072839e00) at /u1/builds/build265/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:2761
#9  0xffffffff8038c628 in i915_gem_object_bind_to_vm (flags=1, alignment=<optimized out>, vm=0xffff800007416400, obj=0xfffffe8072839e00)
    at /u1/builds/build265/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:4012
#10 i915_gem_object_pin (obj=obj@entry=0xfffffe8072839e00, vm=0xffff800007416400, alignment=<optimized out>, flags=1)
    at /u1/builds/build265/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c:4666
#11 0xffffffff809c3614 in i915_gem_execbuffer_reserve_vma (vma=vma@entry=0xfffffe8113164c48, need_reloc=need_reloc@entry=0xfffffe80426e6d0f, 
    ring=0xffff800007415560) at /u1/builds/build265/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_execbuffer.c:611
#12 0xffffffff809c3933 in i915_gem_execbuffer_reserve (ring=ring@entry=0xffff800007415560, vmas=vmas@entry=0xfffffe804b4c8a18, 
    need_relocs=need_relocs@entry=0xfffffe80426e6d0f) at /u1/builds/build265/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_execbuffer.c:750
#13 0xffffffff80390e4f in i915_gem_do_execbuffer (dev=dev@entry=0xfffffe81074d7808, file=file@entry=0xfffffe81133a4cc0, args=args@entry=0xfffffe80426e6df8, 
    exec=exec@entry=0xfffffe812ad2b708, data=0xfffffe80426e6df8) at /u1/builds/build265/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_execbuffer.c:1246
#14 0xffffffff8039209c in i915_gem_execbuffer2 (dev=0xfffffe81074d7808, data=0xfffffe80426e6df8, file=0xfffffe81133a4cc0)
    at /u1/builds/build265/src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_execbuffer.c:1501
#15 0xffffffff802cd11c in drm_ioctl (fp=<optimized out>, cmd=<optimized out>, data=0xfffffe80426e6df8)
    at /u1/builds/build265/src/sys/external/bsd/drm2/drm/drm_drv.c:673
#16 0xffffffff80869419 in sys_ioctl (l=<optimized out>, uap=0xfffffe80426e6f00, retval=<optimized out>) at /u1/builds/build265/src/sys/kern/sys_generic.c:681
#17 0xffffffff8087386a in sy_call (rval=0xfffffe80426e6eb8, uap=0xfffffe80426e6f00, l=0xfffffe811b981560, sy=0xffffffff80fef5a0 <sysent+864>)
    at /u1/builds/build265/src/sys/sys/syscallvar.h:61
#18 sy_invoke (code=54, rval=0xfffffe80426e6eb8, uap=0xfffffe80426e6f00, l=0xfffffe811b981560, sy=0xffffffff80fef5a0 <sysent+864>)
    at /u1/builds/build265/src/sys/sys/syscallvar.h:85
#19 syscall (frame=0xfffffe80426e6f00) at /u1/builds/build265/src/sys/arch/x86/x86/syscall.c:156
#20 0xffffffff80100691 in Xsyscall ()
(gdb) 

When the kernel gets into this state, ok course, one is unable to
connect to the Xorg process with gdb, and 'kill -9' has no effect.

Relevant dmesg output is:

agp0 at pchb0: G33-family chipset
agp0: detected 7164k stolen memory
agp0: aperture at 0xd0000000, size 0x10000000
i915drmkms0 at pci0 dev 2 function 0: vendor 0x8086 product 0x29c2 (rev. 0x02)
drm: Memory usable by graphics device = 1024M
drm: Supports vblank timestamp caching Rev 2 (21.10.2013).
drm: Driver supports precise vblank timestamp query.
i915drmkms0: interrupting at ioapic0 pin 16 (i915)
drm: initialized overlay support
intelfb0 at i915drmkms0
i915drmkms0: info: registered panic notifier
intelfb0: framebuffer at 0xffff800048f25000, size 1920x1200, depth 32, stride 7680
wsdisplay0 at intelfb0 kbdmux 1: console (default, vt100 emulation)
wsmux1: connecting to wsdisplay0


The older 6.1.1 kernel said:

agp0 at pchb0: detected 7164k stolen memory
agp0: aperture at 0xd0000000, size 0x10000000
vga0 at pci0 dev 2 function 0: vendor 0x8086 product 0x29c2 (rev. 0x02)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
i915drm0 at vga0: Intel G33
i915drm0: AGP at 0xd0000000 256MB
i915drm0: Initialized i915 1.6.0 20080730


>How-To-Repeat:
	Upgrade a perfectly working NetBSD 6.1.1/amd64 box to NetBSD
	7.0/amd64 and no longer be able to use the machine as a workstation.
>Fix:
	Please.  I'm happy to provide additional information, and/or
test patches.  The alternative is to revert back to NetBSD 6.1.5.

>Unformatted:
 	
 	


Home | Main Index | Thread Index | Old Index