Bug 57945 - [GM45] Xorg freezes when using gnome shell: kernel BUG at drivers/gpu/drm/drm_irq.c:929!
Summary: [GM45] Xorg freezes when using gnome shell: kernel BUG at drivers/gpu/drm/drm...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
: 57961 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-12-06 11:44 UTC by Pavel Ondračka
Modified: 2017-07-24 22:59 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (70.20 KB, text/plain)
2012-12-06 11:44 UTC, Pavel Ondračka
no flags Details
Xorg.0.log (34.98 KB, text/plain)
2012-12-06 11:45 UTC, Pavel Ondračka
no flags Details

Description Pavel Ondračka 2012-12-06 11:44:29 UTC
Created attachment 71081 [details]
dmesg

When I compile xf86-video-intel with sna and using gnome shell it sometimes freezes the whole Xserver. This happens approx once a day of normal usage and so far I haven't found a reliable way to reproduce (just move windows between workspaces a lot, maybe with opengl apps it may freeze faster but not sure). I can't do anything, even switching to console doesn't work, however I can still ssh in. All my attempts to obtain a backtrace through ssh were unsuccessful. When i try to attach to X with gdb, it just freezes, the same happens when I'm already attached to it at the moment of incident. There is some interesting info in the dmesg. Also attaching Xorg log. (Logs are few days old, however the incident just happened toady with bleeding edge stack).
BTW I was using UXA with no problems for a week. SNA lasts at most for 2 days.

GPU: GM45
Kernel: 3.6.8-2.fc17.x86_64
xf86-video-intel: 626dd1324dd2c5b14ca4aff598b5eb1e45550e69
mesa: cff4c94
libdrm: 171666e4b8127c17c68ea0d44cf4e81ec342f2d0
X.org: 1.12.4
Comment 1 Pavel Ondračka 2012-12-06 11:45:46 UTC
Created attachment 71082 [details]
Xorg.0.log
Comment 2 Chris Wilson 2012-12-06 12:05:19 UTC
Try https://patchwork.kernel.org/patch/1832631/
Comment 3 Chris Wilson 2012-12-07 00:09:39 UTC
*** Bug 57961 has been marked as a duplicate of this bug. ***
Comment 4 Chris Wilson 2012-12-07 00:10:45 UTC
Should be fixed in drm-intel-fixes:

commit e7d841ca03b7ab668620045cd7b428eda9f41601
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Dec 3 11:36:30 2012 +0000

    drm/i915: Close race between processing unpin task and queueing the flip
    
    Before queuing the flip but crucially after attaching the unpin-work to
    the crtc, we continue to setup the unpin-work. However, should the
    hardware fire early, we see the connected unpin-work and queue the task.
    The task then promptly runs and unpins the fb before we finish taking
    the required references or even pinning it... Havoc.
    
    To close the race, we use the flip-pending atomic to indicate when the
    flip is finally setup and enqueued. So during the flip-done processing,
    we can check more accurately whether the flip was expected.
    
    v2: Add the appropriate mb() to ensure that the writes to the page-flip
    worker are complete prior to marking it active and emitting the MI_FLIP.
    On the read side, the mb should be enforced by the spinlocks.
Comment 5 main.haarp 2012-12-07 01:27:41 UTC
Confirming fixed on gzdoom. Thank you!
Comment 6 Daniel Vetter 2012-12-07 07:54:59 UTC
Should this have been RESOLVED -> VERIFIED instead of RESOLVED -> REOPENED?
Comment 7 Chris Wilson 2012-12-07 19:26:00 UTC
Presuming the workaround is indeed holding the OOPS at bay...


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.