[i965] X freezes starting on April 3rd
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xf86-video-intel |
Fix Released
|
Critical
|
|||
compiz (Ubuntu) |
Fix Released
|
Undecided
|
Michael Vogt | ||
Jaunty |
Fix Released
|
Undecided
|
Martin Pitt | ||
Karmic |
Fix Released
|
Undecided
|
Michael Vogt | ||
xserver-xorg-video-intel (Ubuntu) |
Fix Released
|
Critical
|
Arlete | ||
Jaunty |
Fix Released
|
Critical
|
Arlete | ||
Karmic |
Fix Released
|
Critical
|
Arlete |
Bug Description
[Problem]
Starting around 4/3, when mesa was upgraded from 7.3 to 7.4, several i965 users started noticing X freeze after several hours of use, triggered by application usage especially noticeable with (but not unique to) compiz enabled.
[Impact]
The freeze bug affects a subset of i965 based systems, most particularly those using compiz. Exact numbers cannot be determined, but may be as high as 25-50% based on rough estimates.
The problem is severe: An unpredictable lockup of the system that requires a power cycle to recover from. For some users it comes on within minutes, while for others it comes after a few hours of use.
[How Addressed in Development Version]
For now, the patch being proposed for Jaunty has been uploaded to Karmic.
Longer term, we plan to move from EXA to UXA once the latter is stable enough. It has been found that while UXA exhibits other kinds of freezes, we've not yet been able to reproduce this particular freeze there.
[Patch for Jaunty]
A low-risk workaround that has proven effective at eliminating freezes, or at least greatly reducing their frequency, is to increase the Virtual framebuffer size. Some users do this locally as a matter of course to gain dual-head support, so this setting has received extremely widespread testing already.
The patch for Jaunty causes the Virtual size to be set to 2048x2048 if it is not otherwise specified. Users can still override this with their own settings, larger or smaller, as desired.
A side effect of this patch is that it also mitigates bug 158415 to a degree, which will make projector usage somewhat easier for this hardware because it will enable X to recognize higher resolutions available from the external monitor than were available on initial boot.
[Test Case]
The best method found to reproduce the bug is:
a. Enable compiz
b. Set your desktop to a 6x1 workspace layout
c. Run http://
d. System will freeze anywhere from 1-20 min typically
e. Power-button shutdown is required to reset the system
[Regression Potential]
In general, Virtual has been widely and extensively tested, so we do not expect this patch to trigger regressions.
The patch is coded to only take effect on i965 systems, so the scope of any regression that might conceivably be triggered will be limited to just that hardware.
[Suspects]
Omitting obviously trivial, unrelated changes, here are what changed in several suspect packages in the timeframe in question:
* intel driver:
4/01: 118_drop_
4/03: 114_fix_
4/06: 119_drm_
4/08: 120_fix_
* xserver:
4/08: 177_animated_
4/06: 174_set_
composite overlay window to None
3/30: 172_cwgetbackin
when minimzing/
* mesa:
4/03: 7.4 released
* Added MESA_GLX_
* GLSL version 1.20 is returnd by the GL_SHADING_
* glGetActiveUnif
* Fixed some error checking in glUniform()
* Fixed a potential glTexImage('proxy target') segfault
* Fixed bad reference counting for 1D/2D texture arrays
* Fixed VBO + glPush/
* Assorted i965 driver bug fixes
* Fixed a Windows compilation failure in s_triangle.c
* Fixed a GLSL array indexing bug
* Fixes for building on Haiku
* linux:
4/04: 2.6.28-11.41: Revert MCHBAR patch
4/02: 2.6.28-11.40: Add MCHBAR patch
* libdrm:
4/04: 02_libdrm_
3/29: libdrm-
[Workarounds]
Various people have found one or more of the following have helped to reduce the frequency or eliminate the freezes:
* Turn off compiz
* AccelMethod UXA
* Set NoAccel true
* Set Virtual to something high
* MigrationHeuristic greedy
* Revert to 2.4 -intel driver
[Current Theory]
A 3D memory buffer accumulates data until something gets in there incorrectly and leads to a freeze. This can happen either slowly over a long period of light use, or fairly soon if using the system heavily. It is not simply a matter of filling the memory up, so the trigger often seems to be random, but usually follows some sort of graphics transition (such as the 3D effect from alt-tab, or closing a firefox window).
It is fairly certain that there are multiple freeze bugs present in X.org with the -intel driver. This causes significant confusion when people having different bugs think they might have the same one, and find the symptoms and workarounds don't match. It is also suspected that the same root bug may have multiple different ways of triggering it.
Increasing the Virtual settings seems to either eliminate or greatly reduce the frequency of these freezes. Presumably this allocates larger memory buffers so the chances of something hitting a wrong thing are greatly lessened. However, none of this is well understood.
[Original Report]
I am using kubuntu jaunty beta. My system is freezing randomly. I have the latest updates.
After freezing the mouse pointer still works. And sometimes the power off button works. On powering off , when the stage for kubuntu logo comes its showing a distorted image.
This happens with or without desktop effects. These freezes are very randomly, but mostly when I run some new applications.
I am using intel graphics.
[lspci]
00:00.0 Host bridge [0600]: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub [8086:2a00] (rev 0c)
Subsystem: Hewlett-Packard Company Device [103c:30be]
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller [8086:2a02] (rev 0c)
Subsystem: Hewlett-Packard Company Device [103c:30be]
summary: |
- X freezes in kubunty jaunty (mouse pointer works) + X freezes with or without desktop effects |
summary: |
- X freezes with or without desktop effects + [i965] X freezes with or without desktop effects |
summary: |
- [i965] X freezes with or without desktop effects + [i965] X freezes starting on April 3rd |
description: | updated |
description: | updated |
Changed in xserver-xorg-video-intel (Ubuntu Jaunty): | |
milestone: | ubuntu-9.04 → jaunty-updates |
description: | updated |
Changed in xserver-xorg-video-intel (Ubuntu Karmic): | |
milestone: | jaunty-updates → karmic-alpha-1 |
Changed in xserver-xorg-video-intel: | |
status: | Unknown → Confirmed |
description: | updated |
tags: |
added: jaunty regression-release removed: regression-potential |
description: | updated |
Changed in xserver-xorg-video-intel (Ubuntu Karmic): | |
status: | Triaged → Fix Released |
description: | updated |
Changed in compiz (Ubuntu Jaunty): | |
assignee: | nobody → Martin Pitt (pitti) |
status: | New → In Progress |
Changed in compiz (Ubuntu Karmic): | |
assignee: | nobody → Martin Pitt (pitti) |
status: | New → In Progress |
Changed in xserver-xorg-video-intel (Ubuntu Jaunty): | |
status: | Triaged → Fix Committed |
tags: | added: verification-needed |
Changed in compiz (Ubuntu Jaunty): | |
status: | In Progress → Fix Committed |
tags: | added: hw-specific |
Changed in compiz (Ubuntu Karmic): | |
assignee: | Martin Pitt (pitti) → Michael Vogt (mvo) |
Changed in xserver-xorg-video-intel (Ubuntu Karmic): | |
assignee: | Bryce Harrington (bryceharrington) → nobody |
Changed in xserver-xorg-video-intel (Ubuntu Jaunty): | |
assignee: | Bryce Harrington (bryceharrington) → nobody |
Changed in xserver-xorg-video-intel (Ubuntu Jaunty): | |
status: | Fix Committed → Confirmed |
Changed in xserver-xorg-video-intel (Ubuntu Jaunty): | |
status: | Confirmed → Fix Committed |
tags: |
added: verification-done removed: verification-needed |
Changed in xserver-xorg-video-intel: | |
status: | Confirmed → Fix Released |
Changed in xserver-xorg-video-intel (Ubuntu): | |
assignee: | nobody → Arlete (arletepg2009) |
Changed in xserver-xorg-video-intel (Ubuntu Jaunty): | |
assignee: | nobody → Arlete (arletepg2009) |
Changed in xserver-xorg-video-intel (Ubuntu Karmic): | |
assignee: | nobody → Arlete (arletepg2009) |
Changed in xserver-xorg-video-intel: | |
importance: | Unknown → Critical |
Changed in xserver-xorg-video-intel: | |
importance: | Critical → Unknown |
Changed in xserver-xorg-video-intel: | |
importance: | Unknown → Critical |
Sorry the first attachment is lscpci , typo