Bug 18907 - [G45 GEM] Blender Locks Video Card
Summary: [G45 GEM] Blender Locks Video Card
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: git
Hardware: Other All
: high critical
Assignee: Eric Anholt
QA Contact: Xorg Project Team
Depends on:
Blocks: 18841
  Show dependency treegraph
Reported: 2008-12-05 18:54 UTC by Dylan
Modified: 2008-12-15 13:34 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:

xorg conf (3.00 KB, application/octet-stream)
2008-12-05 18:54 UTC, Dylan
no flags Details

Description Dylan 2008-12-05 18:54:28 UTC
Created attachment 20847 [details]
xorg conf

commit 6e0f8b174dddeb743b4bdc0d831eb1121f62ff50

GIT xf86-video-intel
commit 2e3c098c5ed9a8451713dc754a5f086992249336

Very resent X server with dri2 support, unable to get commit # as I did a pull a few minutes ago and the current tree doesn't seem to build 

GIT libdrm
commit b0d93c74d884b40bd94469a5ef75fdb2fef17680

GIT anholt kernel tree
commit 139df2fa0e8350c9ec5b9d6991ec205bb44e00f1

0xb7858a67 in _tnl_draw_prims () from /usr/lib/dri/i965_dri.so
(gdb) bt
#0  0xb7858a67 in _tnl_draw_prims () from /usr/lib/dri/i965_dri.so
#1  0xb779a560 in brw_draw_prims () from /usr/lib/dri/i965_dri.so
#2  0xb77a03d4 in meta_draw_quad () from /usr/lib/dri/i965_dri.so
#3  0xb776fd6e in intelClear () from /usr/lib/dri/i965_dri.so
#4  0xb77c9324 in _mesa_Clear () from /usr/lib/dri/i965_dri.so
#5  0xb7ec72ba in glClear () from //usr//lib/opengl/xorg-x11/lib/libGL.so.1
#6  0x084311e8 in drawview3dspace ()
#7  0x082c6d05 in scrarea_do_windraw ()
#8  0x081fcee4 in force_draw ()
#9  0x082aecd2 in ?? ()
#10 0x00000000 in ?? ()

d13f00l-desktop blender-2.48a-linux-glibc236-py25-i386 # ldd blender
        linux-gate.so.1 =>  (0xffffe000)
        libpython2.5.so.1.0 => /usr/lib/libpython2.5.so.1.0 (0xb7ea1000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7e39000)
        libGL.so.1 => //usr//lib/opengl/xorg-x11/lib/libGL.so.1 (0xb7dc3000)
        libGLU.so.1 => /usr/lib/libGLU.so.1 (0xb7d53000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7c2b000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0xb7c20000)
        libutil.so.1 => /lib/libutil.so.1 (0xb7c1b000)
        libc.so.6 => /lib/libc.so.6 (0xb7af4000)
        libm.so.6 => /lib/libm.so.6 (0xb7acc000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7ac8000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7ab1000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb7aa1000)
        libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0xb7a9a000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb7a96000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb7a90000)
        libdrm.so.2 => /usr/lib/libdrm.so.2 (0xb7a87000)
        libstdc++.so.6 => /usr/lib/gcc/i486-pc-linux-gnu/4.3.1/libstdc++.so.6 (0
        libgcc_s.so.1 => /usr/lib/gcc/i486-pc-linux-gnu/4.3.1/libgcc_s.so.1 (0xb
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb7985000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb797f000)
        /lib/ld-linux.so.2 (0xb7fd2000)

Running in UXA mode, happens also in EXA.

EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
Adding 1004052k swap on /dev/sda2.  Priority:-1 extents:1 across:1004052k
r8169: eth2: link up
r8169: eth2: link up
eth2: no IPv6 routers present
libdrm.so.2[5316]: segfault at 1 ip 00000001 sp bfc538d4 error 14 in libdrm.so.2.3.0[b8050000+7000]
libdrm.so.2[5317]: segfault at 2 ip 00000002 sp bff363b4 error 14 in libdrm.so.2.3.0[b7f32000+7000]
libdrm.so.2[5318]: segfault at 2 ip 00000002 sp bfb627d4 error 14 in libdrm.so.2.3.0[b805d000+7000]
[drm] Initialized drm 1.1.0 20060810
pci 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
pci 0000:00:02.0: setting latency timer to 64
pci 0000:00:02.0: irq 1275 for MSI/MSI-X
[drm] Initialized i915 1.6.0 20080730 on minor 0

Steps to reproduce: 
Open blender
select an empty area, left click like you were going to select something and drag the mouse around.  Will crash in < 2 seconds, 100% of the time.  Will lock X.  Will have to reboot, card gets wedged. 

Xorg file attached.
Comment 1 Eric Anholt 2008-12-06 22:49:43 UTC
This was a segfault, not a lockup, right?
Comment 2 Sven Arvidsson 2008-12-07 10:27:32 UTC
On my system it behaves a little bit different. I get a segfault from Blender, all the time, but it will only hang X sometimes.

Comment 3 Gordon Jin 2008-12-07 21:29:58 UTC
Jiewen, can you reproduce this on our G45?
Comment 4 lin, jiewen 2008-12-07 22:07:19 UTC
(In reply to comment #3)
> Jiewen, can you reproduce this on our G45?
Our G45 get a segfault from Blender
all the time, after that, if you run other 3D apps X will be hung.
Comment 5 Dylan 2008-12-08 10:28:39 UTC
For me, it's hung X every time, tried maybe 8 times.
Comment 6 Eric Anholt 2008-12-08 18:41:03 UTC
meta_draw_quad does nasty things for the case that brw_draw_prims decides to do a sw fallback.  I've got code to fix this in the meta-clear branch of my repo, but it's not correct yet.
Comment 7 Eric Anholt 2008-12-11 19:02:02 UTC
failure present as far back as 154a9e5317f890618932cea0129ef887e16baf84
Comment 8 Eric Anholt 2008-12-15 13:34:49 UTC
commit 095c3a5cb16dae5c1e4cf85bffd3cb2465ab9e28
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Dec 15 13:25:20 2008 -0800

    i965: Update state before checking for fallbacks in brw_try_draw_prims.
    This got flipped around in 7855b2aef6bd9e9c2d73260b5cd166159b2525c6.
    Bug #18907.  Thanks to idr for pointing me at a nicer testcase than blender.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.