Description of problem: Believe I got this trying "googleearth": Jun 21 08:54:33 localhost kernel:<4> Jun 21 08:54:33 localhost kernel:<4>====================================================== Jun 21 08:54:33 localhost kernel:<4>[ INFO: hard-safe -> hard-unsafe lock order detected ] Jun 21 08:54:33 localhost kernel:<4>2.6.26-0.74.rc6.git4.fc10.i686 #1 Jun 21 08:54:33 localhost kernel:<4>------------------------------------------------------ Jun 21 08:54:33 localhost kernel:<4>swapper/0 [HC0[0]:SC1[2]:HE0:SE0] is trying to acquire: Jun 21 08:54:33 localhost kernel:<4> (&dev->lock.spinlock){-+..}, at: [<f91b0e48>] drm_lock_take+0x20/0xb5 [drm] Jun 21 08:54:33 localhost kernel:<4> Jun 21 08:54:33 localhost kernel:<4>and this task is already holding: Jun 21 08:54:33 localhost kernel:<4> (&dev->tasklet_lock){++..}, at: [<f91b0604>] drm_locked_tasklet_func+0x18/0x74 [drm] Jun 21 08:54:33 localhost kernel:<4>which would create a new lock dependency: Jun 21 08:54:33 localhost kernel:<4> (&dev->tasklet_lock){++..} -> (&dev->lock.spinlock){-+..} Jun 21 08:54:33 localhost kernel:<4> Jun 21 08:54:33 localhost kernel:<4>but this new dependency connects a hard-irq-safe lock: Jun 21 08:54:33 localhost kernel:<4> (&dev->tasklet_lock){++..} Jun 21 08:54:33 localhost kernel:<4>... which became hard-irq-safe at: Jun 21 08:54:33 localhost kernel:<4> [<c0447cfc>] __lock_acquire+0x4a9/0xc18 Jun 21 08:54:33 localhost kernel:<4> [<c04484d5>] lock_acquire+0x6a/0x90 Jun 21 08:54:33 localhost kernel:<4> [<c0645cad>] _spin_lock_irqsave+0x38/0x68 Jun 21 08:54:33 localhost kernel:<4> [<f91b068f>] drm_locked_tasklet+0x2f/0x74 [drm] Jun 21 08:54:33 localhost kernel:<4> [<f91a302f>] i915_driver_irq_handler+0x142/0x17b [i915] Jun 21 08:54:33 localhost kernel:<4> [<c0464cfc>] handle_IRQ_event+0x1a/0x4f Jun 21 08:54:33 localhost kernel:<4> [<c0465ca6>] handle_fasteoi_irq+0x7d/0xb6 Jun 21 08:54:33 localhost kernel:<4> [<c0407073>] do_IRQ+0x98/0xc5 Jun 21 08:54:33 localhost kernel:<4> [<ffffffff>] 0xffffffff Jun 21 08:54:33 localhost kernel:<4> Jun 21 08:54:33 localhost kernel:<4>to a hard-irq-unsafe lock: Jun 21 08:54:33 localhost kernel:<4> (&dev->lock.spinlock){-+..} Jun 21 08:54:33 localhost kernel:<4>... which became hard-irq-unsafe at: Jun 21 08:54:33 localhost kernel:<4>... [<c0447d81>] __lock_acquire+0x52e/0xc18 Jun 21 08:54:33 localhost kernel:<4> [<c04484d5>] lock_acquire+0x6a/0x90 Jun 21 08:54:33 localhost kernel:<4> [<c0645bf0>] _spin_lock_bh+0x21/0x4e Jun 21 08:54:33 localhost kernel:<4> [<f91b10b0>] drm_lock+0xe6/0x28a [drm] Jun 21 08:54:33 localhost kernel:<4> [<f91af3da>] drm_ioctl+0x1b0/0x228 [drm] Jun 21 08:54:33 localhost kernel:<4> [<c0497d28>] vfs_ioctl+0x50/0x69 Jun 21 08:54:33 localhost kernel:<4> [<c0497f7a>] do_vfs_ioctl+0x239/0x24c Jun 21 08:54:33 localhost kernel:<4> [<c0497fcd>] sys_ioctl+0x40/0x5b Jun 21 08:54:33 localhost kernel:<4> [<c0404c4a>] syscall_call+0x7/0xb Jun 21 08:54:33 localhost kernel:<4> [<ffffffff>] 0xffffffff Jun 21 08:54:33 localhost kernel:<4> Jun 21 08:54:33 localhost kernel:<4>other info that might help us debug this: Jun 21 08:54:33 localhost kernel:<4> Jun 21 08:54:33 localhost kernel:<4>1 lock held by swapper/0: Jun 21 08:54:33 localhost kernel:<4> #0: (&dev->tasklet_lock){++..}, at: [<f91b0604>] drm_locked_tasklet_func+0x18/0x74 [drm] Jun 21 08:54:33 localhost kernel:<4> Jun 21 08:54:33 localhost kernel:<4>the hard-irq-safe lock's dependencies: Jun 21 08:54:33 localhost kernel:<4>-> (&dev->tasklet_lock){++..} ops: 0 { Jun 21 08:54:33 localhost kernel:<4> initial-use at: Jun 21 08:54:33 localhost kernel:<4> [<c0447db7>] __lock_acquire+0x564/0xc18 Jun 21 08:54:33 localhost kernel:<4> [<c04484d5>] lock_acquire+0x6a/0x90 Jun 21 08:54:33 localhost kernel:<4> [<c0645cad>] _spin_lock_irqsave+0x38/0x68 Jun 21 08:54:33 localhost kernel:<4> [<f91b0f6e>] drm_unlock+0x47/0xa3 [drm] Jun 21 08:54:33 localhost kernel:<4> [<f91af3da>] drm_ioctl+0x1b0/0x228 [drm] Jun 21 08:54:33 localhost kernel:<4> [<c0497d28>] vfs_ioctl+0x50/0x69 Jun 21 08:54:33 localhost kernel:<4> [<c0497f7a>] do_vfs_ioctl+0x239/0x24c Jun 21 08:54:33 localhost kernel:<4> [<c0497fcd>] sys_ioctl+0x40/0x5b Jun 21 08:54:33 localhost kernel:<4> [<c0404c4a>] syscall_call+0x7/0xb Jun 21 08:54:33 localhost kernel:<4> [<ffffffff>] 0xffffffff Jun 21 08:54:33 localhost kernel:<4> in-hardirq-W at: Jun 21 08:54:33 localhost kernel:<4> [<c0447cfc>] __lock_acquire+0x4a9/0xc18 Jun 21 08:54:33 localhost kernel:<4> [<c04484d5>] lock_acquire+0x6a/0x90 Jun 21 08:54:33 localhost kernel:<4> [<c0645cad>] _spin_lock_irqsave+0x38/0x68 Jun 21 08:54:33 localhost kernel:<4> [<f91b068f>] drm_locked_tasklet+0x2f/0x74 [drm] Jun 21 08:54:33 localhost kernel:<4> [<f91a302f>] i915_driver_irq_handler+0x142/0x17b [i915] Jun 21 08:54:33 localhost kernel:<4> [<c0464cfc>] handle_IRQ_event+0x1a/0x4f Jun 21 08:54:33 localhost kernel:<4> [<c0465ca6>] handle_fasteoi_irq+0x7d/0xb6 Jun 21 08:54:33 localhost kernel:<4> [<c0407073>] do_IRQ+0x98/0xc5 Jun 21 08:54:33 localhost kernel:<4> [<ffffffff>] 0xffffffff Jun 21 08:54:33 localhost kernel:<4> in-softirq-W at: Jun 21 08:54:33 localhost kernel:<4> [<c0447d20>] __lock_acquire+0x4cd/0xc18 Jun 21 08:54:33 localhost kernel:<4> [<c04484d5>] lock_acquire+0x6a/0x90 Jun 21 08:54:33 localhost kernel:<4> [<c0645cad>] _spin_lock_irqsave+0x38/0x68 Jun 21 08:54:33 localhost kernel:<4> [<f91b0604>] drm_locked_tasklet_func+0x18/0x74 [drm] Jun 21 08:54:33 localhost kernel:<4> [<c042eb69>] tasklet_hi_action+0x7f/0xec Jun 21 08:54:33 localhost kernel:<4> [<c042f586>] __do_softirq+0x84/0x10a Jun 21 08:54:33 localhost kernel:<4> [<c0406f7a>] do_softirq+0x79/0xda Jun 21 08:54:33 localhost kernel:<4> [<ffffffff>] 0xffffffff Jun 21 08:54:33 localhost kernel:<4> } Jun 21 08:54:33 localhost kernel:<4> ... key at: [<f91bc360>] __key.24129+0x0/0xffff8205 [drm] Jun 21 08:54:33 localhost kernel:<4> Jun 21 08:54:33 localhost kernel:<4>the hard-irq-unsafe lock's dependencies: Jun 21 08:54:33 localhost kernel:<4>-> (&dev->lock.spinlock){-+..} ops: 0 { Jun 21 08:54:33 localhost kernel:<4> initial-use at: Jun 21 08:54:33 localhost kernel:<4> [<c0447db7>] __lock_acquire+0x564/0xc18 Jun 21 08:54:33 localhost kernel:<4> [<c04484d5>] lock_acquire+0x6a/0x90 Jun 21 08:54:33 localhost kernel:<4> [<c0645bf0>] _spin_lock_bh+0x21/0x4e Jun 21 08:54:33 localhost kernel:<4> [<f91b10b0>] drm_lock+0xe6/0x28a [drm] Jun 21 08:54:33 localhost kernel:<4> [<f91af3da>] drm_ioctl+0x1b0/0x228 [drm] Jun 21 08:54:33 localhost kernel:<4> [<c0497d28>] vfs_ioctl+0x50/0x69 Jun 21 08:54:33 localhost kernel:<4> [<c0497f7a>] do_vfs_ioctl+0x239/0x24c Jun 21 08:54:33 localhost kernel:<4> [<c0497fcd>] sys_ioctl+0x40/0x5b Jun 21 08:54:33 localhost kernel:<4> [<c0404c4a>] syscall_call+0x7/0xb Jun 21 08:54:33 localhost kernel:<4> [<ffffffff>] 0xffffffff Jun 21 08:54:33 localhost kernel:<4> in-softirq-W at: Jun 21 08:54:33 localhost kernel:<4> [<c0447d20>] __lock_acquire+0x4cd/0xc18 Jun 21 08:54:33 localhost kernel:<4> [<c04484d5>] lock_acquire+0x6a/0x90 Jun 21 08:54:33 localhost kernel:<4> [<c0645bf0>] _spin_lock_bh+0x21/0x4e Jun 21 08:54:33 localhost kernel:<4> [<f91b0e48>] drm_lock_take+0x20/0xb5 [drm] Jun 21 08:54:33 localhost kernel:<4> [<f91b061f>] drm_locked_tasklet_func+0x33/0x74 [drm] Jun 21 08:54:33 localhost kernel:<4> [<c042eb69>] tasklet_hi_action+0x7f/0xec Jun 21 08:54:33 localhost kernel:<4> [<c042f586>] __do_softirq+0x84/0x10a Jun 21 08:54:33 localhost kernel:<4> [<c0406f7a>] do_softirq+0x79/0xda Jun 21 08:54:33 localhost kernel:<4> [<ffffffff>] 0xffffffff Jun 21 08:54:33 localhost kernel:<4> hardirq-on-W at: Jun 21 08:54:33 localhost kernel:<4> [<c0447d81>] __lock_acquire+0x52e/0xc18 Jun 21 08:54:33 localhost kernel:<4> [<c04484d5>] lock_acquire+0x6a/0x90 Jun 21 08:54:33 localhost kernel:<4> [<c0645bf0>] _spin_lock_bh+0x21/0x4e Jun 21 08:54:33 localhost kernel:<4> [<f91b10b0>] drm_lock+0xe6/0x28a [drm] Jun 21 08:54:33 localhost kernel:<4> [<f91af3da>] drm_ioctl+0x1b0/0x228 [drm] Jun 21 08:54:33 localhost kernel:<4> [<c0497d28>] vfs_ioctl+0x50/0x69 Jun 21 08:54:33 localhost kernel:<4> [<c0497f7a>] do_vfs_ioctl+0x239/0x24c Jun 21 08:54:33 localhost kernel:<4> [<c0497fcd>] sys_ioctl+0x40/0x5b Jun 21 08:54:33 localhost kernel:<4> [<c0404c4a>] syscall_call+0x7/0xb Jun 21 08:54:33 localhost kernel:<4> [<ffffffff>] 0xffffffff Jun 21 08:54:33 localhost kernel:<4> } Jun 21 08:54:33 localhost kernel:<4> ... key at: [<f91bc358>] __key.24130+0x0/0xffff820d [drm] Jun 21 08:54:33 localhost kernel:<4> Jun 21 08:54:33 localhost kernel:<4>stack backtrace: Jun 21 08:54:33 localhost kernel:<4>Pid: 0, comm: swapper Not tainted 2.6.26-0.74.rc6.git4.fc10.i686 #1 Jun 21 08:54:33 localhost kernel:<4> [<c0447842>] check_usage+0x1fa/0x20b Jun 21 08:54:33 localhost kernel:<4> [<c044822d>] __lock_acquire+0x9da/0xc18 Jun 21 08:54:33 localhost kernel:<4> [<c04484d5>] lock_acquire+0x6a/0x90 Jun 21 08:54:33 localhost kernel:<4> [<f91b0e48>] ? drm_lock_take+0x20/0xb5 [drm] Jun 21 08:54:33 localhost kernel:<4> [<c0645bf0>] _spin_lock_bh+0x21/0x4e Jun 21 08:54:33 localhost kernel:<4> [<f91b0e48>] ? drm_lock_take+0x20/0xb5 [drm] Jun 21 08:54:33 localhost kernel:<4> [<f91b0e48>] drm_lock_take+0x20/0xb5 [drm] Jun 21 08:54:33 localhost kernel:<4> [<f91b061f>] drm_locked_tasklet_func+0x33/0x74 [drm] Jun 21 08:54:33 localhost kernel:<4> [<c042eb69>] tasklet_hi_action+0x7f/0xec Jun 21 08:54:33 localhost kernel:<4> [<c042f586>] __do_softirq+0x84/0x10a Jun 21 08:54:33 localhost kernel:<4> [<c0406f7a>] do_softirq+0x79/0xda Jun 21 08:54:33 localhost kernel:<4> [<c0465c29>] ? handle_fasteoi_irq+0x0/0xb6 Jun 21 08:54:33 localhost kernel:<4> [<c042f0ec>] irq_exit+0x44/0x77 Jun 21 08:54:33 localhost kernel:<4> [<c0407087>] do_IRQ+0xac/0xc5 Jun 21 08:54:33 localhost kernel:<4> [<c0405686>] common_interrupt+0x2e/0x34 Jun 21 08:54:33 localhost kernel:<4> [<c04400d8>] ? sched_clock_init+0x73/0x8f Jun 21 08:54:33 localhost kernel:<4> [<c0548eaa>] ? acpi_idle_enter_simple+0x19e/0x20e Jun 21 08:54:33 localhost kernel:<4> [<c052a742>] ? acpi_os_release_lock+0x8/0xa Jun 21 08:54:33 localhost kernel:<4> [<c0548a83>] acpi_idle_enter_bm+0xbc/0x345 Jun 21 08:54:33 localhost kernel:<4> [<c043fa16>] ? pm_qos_requirement+0x26/0x2b Jun 21 08:54:33 localhost kernel:<4> [<c05b79f8>] ? menu_select+0x5c/0x78 Jun 21 08:54:33 localhost kernel:<4> [<c05b6d9d>] cpuidle_idle_call+0x67/0x97 Jun 21 08:54:33 localhost kernel:<4> [<c05b6d36>] ? cpuidle_idle_call+0x0/0x97 Jun 21 08:54:33 localhost kernel:<4> [<c0403bf5>] cpu_idle+0xb8/0xd8 Jun 21 08:54:33 localhost kernel:<4> [<c0640dc9>] start_secondary+0x18d/0x195 Jun 21 08:54:33 localhost kernel:<4> ======================= Version-Release number of selected component (if applicable): kernel-2.6.26-0.74.rc6.git4.fc10.i686 How reproducible: Don't know Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Created attachment 309970 [details] dmesg output I should mention: Thinkpax X60, Intel 945 graphics, and I was running compiz. Attaching complete output from dmesg.
Continue to get this with kernel-2.6.26-0.107.rc8.git2.fc10.i686 ====================================================== [ INFO: hard-safe -> hard-unsafe lock order detected ] 2.6.26-0.107.rc8.git2.fc10.i686 #1 ------------------------------------------------------ googleearth-bin/7964 [HC0[0]:SC1[2]:HE0:SE0] is trying to acquire: (&dev->lock.spinlock){-+..}, at: [<f916ce50>] drm_lock_take+0x20/0xb5 [drm] and this task is already holding: (&dev->tasklet_lock){++..}, at: [<f916c60c>] drm_locked_tasklet_func+0x18/0x74 [drm] which would create a new lock dependency: (&dev->tasklet_lock){++..} -> (&dev->lock.spinlock){-+..} but this new dependency connects a hard-irq-safe lock: (&dev->tasklet_lock){++..} ... which became hard-irq-safe at: [<c0447dfc>] __lock_acquire+0x4a9/0xc18 [<c04485d5>] lock_acquire+0x6a/0x90 [<c0668b15>] _spin_lock_irqsave+0x38/0x68 [<f916c697>] drm_locked_tasklet+0x2f/0x74 [drm] [<f915519f>] i915_driver_irq_handler+0x142/0x17b [i915] [<c0464e54>] handle_IRQ_event+0x1a/0x4f [<c0465dfe>] handle_fasteoi_irq+0x7d/0xb6 [<c040707b>] do_IRQ+0x98/0xc5 [<ffffffff>] 0xffffffff to a hard-irq-unsafe lock: (&dev->lock.spinlock){-+..} ... which became hard-irq-unsafe at: ... [<c0447e81>] __lock_acquire+0x52e/0xc18 [<c04485d5>] lock_acquire+0x6a/0x90 [<c0668a58>] _spin_lock_bh+0x21/0x4e [<f916d0b8>] drm_lock+0xe6/0x28a [drm] [<f916b3e0>] drm_ioctl+0x1b6/0x22e [drm] [<c0497eac>] vfs_ioctl+0x50/0x69 [<c04980fe>] do_vfs_ioctl+0x239/0x24c [<c0498151>] sys_ioctl+0x40/0x5b [<c0404c52>] syscall_call+0x7/0xb [<ffffffff>] 0xffffffff other info that might help us debug this: 1 lock held by googleearth-bin/7964: #0: (&dev->tasklet_lock){++..}, at: [<f916c60c>] drm_locked_tasklet_func+0x18/0x74 [drm] the hard-irq-safe lock's dependencies: -> (&dev->tasklet_lock){++..} ops: 0 { initial-use at: [<c0447eb7>] __lock_acquire+0x564/0xc18 [<c04485d5>] lock_acquire+0x6a/0x90 [<c0668b15>] _spin_lock_irqsave+0x38/0x68 [<f916cf76>] drm_unlock+0x47/0xa3 [drm] [<f916b3e0>] drm_ioctl+0x1b6/0x22e [drm] [<c0497eac>] vfs_ioctl+0x50/0x69 [<c04980fe>] do_vfs_ioctl+0x239/0x24c [<c0498151>] sys_ioctl+0x40/0x5b [<c0404c52>] syscall_call+0x7/0xb [<ffffffff>] 0xffffffff in-hardirq-W at: [<c0447dfc>] __lock_acquire+0x4a9/0xc18 [<c04485d5>] lock_acquire+0x6a/0x90 [<c0668b15>] _spin_lock_irqsave+0x38/0x68 [<f916c697>] drm_locked_tasklet+0x2f/0x74 [drm] [<f915519f>] i915_driver_irq_handler+0x142/0x17b [i915] [<c0464e54>] handle_IRQ_event+0x1a/0x4f [<c0465dfe>] handle_fasteoi_irq+0x7d/0xb6 [<c040707b>] do_IRQ+0x98/0xc5 [<ffffffff>] 0xffffffff in-softirq-W at: [<c0447e20>] __lock_acquire+0x4cd/0xc18 [<c04485d5>] lock_acquire+0x6a/0x90 [<c0668b15>] _spin_lock_irqsave+0x38/0x68 [<f916c697>] drm_locked_tasklet+0x2f/0x74 [drm] [<f915519f>] i915_driver_irq_handler+0x142/0x17b [i915] [<c0464e54>] handle_IRQ_event+0x1a/0x4f [<c0465dfe>] handle_fasteoi_irq+0x7d/0xb6 [<c040707b>] do_IRQ+0x98/0xc5 [<ffffffff>] 0xffffffff } ... key at: [<f9178360>] __key.24144+0x0/0xffff8211 [drm] the hard-irq-unsafe lock's dependencies: -> (&dev->lock.spinlock){-+..} ops: 0 { initial-use at: [<c0447eb7>] __lock_acquire+0x564/0xc18 [<c04485d5>] lock_acquire+0x6a/0x90 [<c0668a58>] _spin_lock_bh+0x21/0x4e [<f916d0b8>] drm_lock+0xe6/0x28a [drm] [<f916b3e0>] drm_ioctl+0x1b6/0x22e [drm] [<c0497eac>] vfs_ioctl+0x50/0x69 [<c04980fe>] do_vfs_ioctl+0x239/0x24c [<c0498151>] sys_ioctl+0x40/0x5b [<c0404c52>] syscall_call+0x7/0xb [<ffffffff>] 0xffffffff in-softirq-W at: [<c0447e20>] __lock_acquire+0x4cd/0xc18 [<c04485d5>] lock_acquire+0x6a/0x90 [<c0668a58>] _spin_lock_bh+0x21/0x4e [<f916ce50>] drm_lock_take+0x20/0xb5 [drm] [<f916c627>] drm_locked_tasklet_func+0x33/0x74 [drm] [<c042ec79>] tasklet_hi_action+0x7f/0xec [<c042f696>] __do_softirq+0x84/0x10a [<c0406f82>] do_softirq+0x79/0xda [<ffffffff>] 0xffffffff hardirq-on-W at: [<c0447e81>] __lock_acquire+0x52e/0xc18 [<c04485d5>] lock_acquire+0x6a/0x90 [<c0668a58>] _spin_lock_bh+0x21/0x4e [<f916d0b8>] drm_lock+0xe6/0x28a [drm] [<f916b3e0>] drm_ioctl+0x1b6/0x22e [drm] [<c0497eac>] vfs_ioctl+0x50/0x69 [<c04980fe>] do_vfs_ioctl+0x239/0x24c [<c0498151>] sys_ioctl+0x40/0x5b [<c0404c52>] syscall_call+0x7/0xb [<ffffffff>] 0xffffffff } ... key at: [<f9178358>] __key.24145+0x0/0xffff8219 [drm] stack backtrace: Pid: 7964, comm: googleearth-bin Not tainted 2.6.26-0.107.rc8.git2.fc10.i686 #1 [<c0447942>] check_usage+0x1fa/0x20b [<c044832d>] __lock_acquire+0x9da/0xc18 [<c04485d5>] lock_acquire+0x6a/0x90 [<f916ce50>] ? drm_lock_take+0x20/0xb5 [drm] [<c0668a58>] _spin_lock_bh+0x21/0x4e [<f916ce50>] ? drm_lock_take+0x20/0xb5 [drm] [<f916ce50>] drm_lock_take+0x20/0xb5 [drm] [<f916c627>] drm_locked_tasklet_func+0x33/0x74 [drm] [<c042ec79>] tasklet_hi_action+0x7f/0xec [<c042f696>] __do_softirq+0x84/0x10a [<c0406f82>] do_softirq+0x79/0xda [<c042f1fc>] irq_exit+0x44/0x77 [<c04147ab>] smp_apic_timer_interrupt+0x6e/0x7c [<c040576f>] apic_timer_interrupt+0x33/0x38 =======================
Haven't seen this in ages...... Close?
Please reopen if you see it again with latest kernel. Thanks for the update