Bug 22624

Summary: Deadlock with KMS after screen blanks
Product: xorg Reporter: jwbaker
Component: Driver/intelAssignee: Gordon Jin <gordon.jin>
Status: RESOLVED DUPLICATE QA Contact: Xorg Project Team <xorg-team>
Severity: critical    
Priority: medium    
Version: 7.4 (2008.09)   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.log none

Description jwbaker 2009-07-05 12:00:27 UTC
Using intel driver 6.8.0+git20090201.d394e0b8-2 as currently packaged by Ubuntu Karmic, and kernel 2.6.31 from same distro, I see a 100% reliable deadlock.  With compiz enabled, after the screen fades to black due to idle timeout, I get this in dmesg:

[  600.840070] INFO: task events/1:10 blocked for more than 120 seconds.
[  600.840078] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  600.840085] events/1      D 0000000000000000     0    10      2 0x00000000
[  600.840096]  ffff88007b3c3d70 0000000000000046 ffff88007b3c3dd0 0000000000015540
[  600.840107]  ffff88007b3c83b0 0000000000015540 0000000000015540 0000000000015540
[  600.840117]  0000000000015540 ffff88007b3c83b0 0000000000015540 0000000000015540
[  600.840127] Call Trace:
[  600.840145]  [<ffffffff81512c07>] __mutex_lock_slowpath+0xd7/0x160
[  600.840154]  [<ffffffff81512b06>] mutex_lock+0x26/0x50
[  600.840195]  [<ffffffffa005f538>] i915_gem_retire_work_handler+0x38/0x90 [i915]
[  600.840221]  [<ffffffffa005f500>] ? i915_gem_retire_work_handler+0x0/0x90 [i915]
[  600.840233]  [<ffffffff8106bb15>] run_workqueue+0x95/0x170
[  600.840240]  [<ffffffff8106bc94>] worker_thread+0xa4/0x120
[  600.840250]  [<ffffffff81070e10>] ? autoremove_wake_function+0x0/0x40
[  600.840258]  [<ffffffff8106bbf0>] ? worker_thread+0x0/0x120
[  600.840266]  [<ffffffff81070a26>] kthread+0x96/0xa0
[  600.840275]  [<ffffffff8101308a>] child_rip+0xa/0x20
[  600.840284]  [<ffffffff81070990>] ? kthread+0x0/0xa0
[  600.840291]  [<ffffffff81013080>] ? child_rip+0x0/0x20
[  600.840322] INFO: task Xorg:2550 blocked for more than 120 seconds.
[  600.840326] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  600.840331] Xorg          D 0000000000000000     0  2550   2549 0x00400004
[  600.840341]  ffff880072cb1cb8 0000000000000086 fffffff57a1be000 0000000000015540
[  600.840351]  ffff880078e6b110 0000000000015540 0000000000015540 0000000000015540
[  600.840361]  0000000000015540 ffff880078e6b110 0000000000015540 0000000000015540
[  600.840370] Call Trace:
[  600.840380]  [<ffffffff81512c07>] __mutex_lock_slowpath+0xd7/0x160
[  600.840390]  [<ffffffff8140c949>] ? sock_aio_read+0x149/0x150
[  600.840398]  [<ffffffff81512b06>] mutex_lock+0x26/0x50
[  600.840423]  [<ffffffffa005f816>] i915_gem_throttle_ioctl+0x36/0x90 [i915]
[  600.840460]  [<ffffffffa0026c6e>] drm_ioctl+0x17e/0x3a0 [drm]
[  600.840471]  [<ffffffff81114d32>] ? do_sync_read+0xf2/0x130
[  600.840481]  [<ffffffff81070e10>] ? autoremove_wake_function+0x0/0x40
[  600.840491]  [<ffffffff810313f9>] ? default_spin_lock_flags+0x9/0x10
[  600.840499]  [<ffffffff81513eca>] ? _spin_lock_irqsave+0x2a/0x40
[  600.840508]  [<ffffffff81123f5c>] vfs_ioctl+0x7c/0xa0
[  600.840516]  [<ffffffff81124529>] do_vfs_ioctl+0x79/0x370
[  600.840523]  [<ffffffff811248a1>] sys_ioctl+0x81/0xa0
[  600.840533]  [<ffffffff81011fc2>] system_call_fastpath+0x16/0x1b

The display is totally hung.  No keystroke can turn the display back on, chvt hangs, all X clients hang.  However the machine itself continues to work fine, aside from the display.

My machine has a 00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c) and I don't have a xorg.conf i.e. I'm using all defaults.  Xorg.log attached.
Comment 1 jwbaker 2009-07-05 12:00:53 UTC
Created attachment 27400 [details]
Xorg.log
Comment 2 jwbaker 2009-07-05 12:02:59 UTC

*** This bug has been marked as a duplicate of bug 22336 ***
Comment 3 Eric Anholt 2009-07-06 13:36:58 UTC
This bug is not a duplicate of the other one, but should be fixed in master anyway.

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.