Bug 54978

Summary: [SNA] Xorg Crash with Chromium Web Inspector
Product: xorg Reporter: Ankur <ankur>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg crash log
none
Actual Xorg crash log
none
Backtrace none

Description Ankur 2012-09-16 03:15:31 UTC
Created attachment 67221 [details]
Xorg crash log

Xorg often crashes when enabling the Web Inspector in Chromium.

The crash only seems to occur with SNA enabled.
Tested kernel versions 3.5.3 and 3.6-rc3; crash happens in both.

To reproduce:

1. Open the Chromium browser.
2. Repeatedly press Ctrl+Shift+i to open and close the Web Inspector.
3. Xorg will crash with ~20% probability each time the Web Inspector is opened.

Distro: Arch Linux
Ivy Bridge i5-3570K HD4000 graphics.
xf86-video-intel 2.20.7
xserver 1.12.4
Display connected with DisplayPort.
Comment 1 Ankur 2012-09-16 03:18:52 UTC
Created attachment 67222 [details]
Actual Xorg crash log
Comment 2 Ankur 2012-09-16 03:20:20 UTC
[  2427.564] Backtrace:
[  2427.564] 0: /usr/bin/X (xorg_backtrace+0x36) [0x560366]
[  2427.564] 1: /usr/bin/X (0x400000+0x1640c9) [0x5640c9]
[  2427.564] 2: /usr/lib/libpthread.so.0 (0x7f3e02a1f000+0xf170) [0x7f3e02a2e170]
[  2427.564] 3: /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f3dff9df000+0x71f90) [0x7f3dffa50f90]
[  2427.564] 4: /usr/lib/xorg/modules/drivers/intel_drv.so (0x7f3dff9df000+0x62972) [0x7f3dffa41972]
[  2427.564] 5: /usr/bin/X (0x400000+0xf2119) [0x4f2119]
[  2427.564] 6: /usr/bin/X (0x400000+0xeb084) [0x4eb084]
[  2427.564] 7: /usr/bin/X (0x400000+0x34531) [0x434531]
[  2427.564] 8: /usr/bin/X (0x400000+0x23615) [0x423615]
[  2427.564] 9: /usr/lib/libc.so.6 (__libc_start_main+0xf5) [0x7f3e018cb725]
[  2427.564] 10: /usr/bin/X (0x400000+0x238ed) [0x4238ed]
[  2427.564] 
[  2427.564] Segmentation fault at address 0x40
[  2427.564] 
Fatal server error:
[  2427.564] Caught signal 11 (Segmentation fault). Server aborting
Comment 3 Chris Wilson 2012-09-16 07:04:06 UTC
Please either attach gdb and grab a 'bt full' or run 'addr2line -e /usr/lib/xorg/modules/drivers/intel_drv.so 0x71f90 0x62972'
Comment 4 Chris Wilson 2012-09-16 07:23:07 UTC
It survives locally. You might also want to check with xf86-video-intel.git, but getting a resolved stacktrace is most important.
Comment 5 Ankur 2012-09-21 02:35:06 UTC
I tried running X with the '-core' flag, then loading the core dump into gdb to get a backtrace, but there were no debug symbols.

So I guess I'll need to compile Xserver and the xf86-video-intel driver with debug symbols and then try again.
Comment 6 Ankur 2012-09-22 03:19:52 UTC
Created attachment 67528 [details]
Backtrace

xorg-server 1.12.4 and xf86-video-intel 2.20.8 compiled with -ggdb. Not stripped.
/usr/bin/X run with -core flag, crash reproduced.
`gdb /usr/bin/X /core`, 'bt full'
Comment 7 Chris Wilson 2012-09-22 08:00:18 UTC
commit 92dbedc6138b923aa473935013ecb0346280c4d3
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat Sep 22 08:56:49 2012 +0100

    sna: Force the stall before trying to upload into a busy CPU bo
    
    Under the circumstances where we can not instead stream the write into
    the GPU bo, we need to use the busy CPU bo.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54978
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

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.