Bug 26101

Summary: [i915] xf86-video-intel 2.10.0 (and git) triggers kernel oops within seconds after login
Product: xorg Reporter: Robert Huitl <freedesktop>
Component: Driver/intelAssignee: Eric Anholt <eric>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: critical    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Logfiles and GPU dump none

Description Robert Huitl 2010-01-18 08:20:07 UTC
Created attachment 32695 [details]
Logfiles and GPU dump

Software:
- xorg-server-1.6.5
- mesa-7.5.2
- xf86-video-intel-2.10.0 (same crash with today's 93cd943d41c646c794b8cb5a960d8f0805e15395)
- libdrm-9999 (b84314a86ea4ad30e0f57a71b4ef0fa138fb24c6, Dec 8 2009)
- Kernel 2.6.33-rc4

Hardware:
Good old Thinkpad X41 with
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)

A few seconds after logging in, while KDE4 is still starting applications, screen & mouse cursor freeze. dmesg shows the following errors:

[  317.757134] [drm:i915_gem_object_pin_and_relocate] *ERROR* Failure to install fence: -28
[  317.811985] [drm:i915_gem_object_pin_and_relocate] *ERROR* Failure to install fence: -28
[  317.811992] [drm:i915_gem_do_execbuffer] *ERROR* Failed to pin buffer 12 of 39, total 12148736 bytes: -28
[  317.811997] [drm:i915_gem_do_execbuffer] *ERROR* 1320 objects [14 pinned], 76541952 object bytes [17993728 pinned], 19042304/260308992 gtt bytes
[  317.812020] [drm:i915_gem_execbuffer] *ERROR* i915_gem_do_execbuffer returns -28
[  319.972994] [drm:i915_gem_object_pin_and_relocate] *ERROR* Failure to install fence: -28
[  319.982754] ------------[ cut here ]------------
[  319.982759] kernel BUG at drivers/gpu/drm/i915/i915_gem.c:2135!
[  319.982762] invalid opcode: 0000 [#1] PREEMPT
[  319.982766] last sysfs file: /sys/class/power_supply/BAT0/energy_full
[  319.982770] Modules linked in: ext3 jbd mbcache joydev hdaps tp_smapi thinkpad_ec sco bnep rfcomm l2cap crc16 bluetooth lib80211_crypt_tkip iptable_mangle iptable_filter ip_tables x_tables snd_pcm_oss snd_mixer_oss snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device dm_crypt dm_mod fuse cpufreq_ondemand cpufreq_powersave i2c_dev fan acpi_cpufreq i915 8250_pci 8250 serial_core drm_kms_helper ipw2200 drm libipw snd_intel8x0m cfg80211 snd_intel8x0 snd_ac97_codec sdhci_pci usbhid ac97_bus processor snd_pcm sdhci tg3 yenta_socket rsrc_nonstatic i2c_algo_bit mmc_core i2c_i801 pcmcia_core thinkpad_acpi snd_timer thermal video i2c_core snd libphy rfkill backlight nvram button ac battery led_class thermal_sys ehci_hcd output sg lib80211 pcspkr hwmon snd_page_alloc uhci_hcd evdev
[  319.982841]
[  319.982846] Pid: 9053, comm: X Not tainted 2.6.33-rc4 #1 25256NG/25256NG
[  319.982850] EIP: 0060:[<fa087fa4>] EFLAGS: 00213246 CPU: 0
[  319.982864] EIP is at i915_gem_evict_everything+0x103/0x10e [i915]
[  319.982868] EAX: f5198000 EBX: 00000000 ECX: f6881000 EDX: f57bee0c
[  319.982871] ESI: 00000000 EDI: f6881000 EBP: f57bee0c ESP: f5199d7c
[  319.982874]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
[  319.982879] Process X (pid: 9053, ti=f5198000 task=f568f030 task.ti=f5198000)
[  319.982882] Stack:
[  319.982884]  0000000a f2905800 ffffffe4 f3ac98c0 fa089496 b58f2000 f5199dec 00000000
[  319.982891] <0> f560b8c0 f6881000 f57be000 f6881010 00000000 0000000a 00000000 00000000
[  319.982898] <0> f5138b80 b59f2000 f2905800 f69e6580 00000000 f3ac9cc0 f57be000 c1062b4a
[  319.982905] Call Trace:
[  319.982918]  [<fa089496>] ? i915_gem_do_execbuffer+0x819/0xdc8 [i915]
[  319.982926]  [<c1062b4a>] ? zap_page_range+0x70/0xbe
[  319.982934]  [<c11306b4>] ? prio_tree_next+0x171/0x1c5
[  319.982938]  [<c1062bd3>] ? unmap_mapping_range_vma+0x3b/0x95
[  319.982950]  [<fa089e80>] ? i915_gem_execbuffer+0x2cf/0x3fa [i915]
[  319.982965]  [<f99df3a1>] ? drm_ioctl+0x20b/0x29b [drm]
[  319.982976]  [<fa089bb1>] ? i915_gem_execbuffer+0x0/0x3fa [i915]
[  319.982981]  [<c1061ad5>] ? __do_fault+0x40/0x31f
[  319.982985]  [<c113035e>] ? prio_tree_insert+0x191/0x207
[  319.982996]  [<f99df196>] ? drm_ioctl+0x0/0x29b [drm]
[  319.983002]  [<c107ce71>] ? vfs_ioctl+0x1c/0x7d
[  319.983006]  [<c107d40b>] ? do_vfs_ioctl+0x47f/0x4bb
[  319.983013]  [<c10158b0>] ? do_page_fault+0x26b/0x281
[  319.983017]  [<c107d473>] ? sys_ioctl+0x2c/0x42
[  319.983023]  [<c10026d0>] ? sysenter_do_call+0x12/0x26
[  319.983025] Code: 00 00 39 83 fc 0d 00 00 0f 94 c0 0f b6 d8 eb 02 31 db 89 e0 25 00 e0 ff ff ff 48 14 f6 40 08 08 74 05 e8 d9 8f 1d c7 84 db 75 04 <0f> 0b eb fe 5b 89 f0 5e 5f 5d c3 57 56 53 89 c3 8b 78 08 8b 70
[  319.983062] EIP: [<fa087fa4>] i915_gem_evict_everything+0x103/0x10e [i915] SS:ESP 0068:f5199d7c
[  319.983076] ---[ end trace 01e30fe1d9e12ead ]---

Xorg logfile reads:
(EE) intel(0): Failed to submit batch buffer, expect rendering corruption or even a frozen display: No space left on device.

This happens with both 2.10.0 and today's git, as well as c1afc831c8fe4cbececee7dfa23506a6746c2425 (Dec 8 2009), as I documented in bug 24753.

xorg.conf is empty except for the DebugFlushCaches option.
Comment 1 Carl Worth 2010-02-08 18:34:17 UTC
Reassigning to Eric.

-Carl
Comment 2 Eric Anholt 2010-02-11 13:51:46 UTC
commit fdcde592c2c48e143251672cf2e82debb07606bd
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Feb 9 08:32:54 2010 +0000

    intel: Account for potential pinned buffers hogging fences
Comment 3 Robert Huitl 2010-02-11 15:13:30 UTC
Thanks, it's working now with 2.6.33-rc7 and x11-libs/libdrm & x11-drivers/xf86-video-intel from git.

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.