[Bug 79591] New: possible circular locking dependency detected

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=79591

            Bug ID: 79591
           Summary: possible circular locking dependency detected
           Product: Drivers
           Version: 2.5
    Kernel Version: 3.16.0-0.rc3.git3
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Video(DRI - non Intel)
          Assignee: drivers_video-dri@xxxxxxxxxxxxxxxxxxxx
          Reporter: mail@xxxxxxxxxxxxxxx
        Regression: No

[  278.448193] ======================================================
[  278.448194] [ INFO: possible circular locking dependency detected ]
[  278.448197] 3.16.0-0.rc3.git3.1.fc21.x86_64 #1 Not tainted
[  278.448198] -------------------------------------------------------
[  278.448200] Xorg.bin/1249 is trying to acquire lock:
[  278.448201]  (&(&priv->lock)->rlock#2){-.-...}, at: [<ffffffffa0108618>]
nouveau_therm_update+0x48/0x350 [nouveau]
[  278.448251] 
but task is already holding lock:
[  278.448253]  (&(&priv->sensor.alarm_program_lock)->rlock){-.-...}, at:
[<ffffffffa010a284>] alarm_timer_callback+0x54/0xe0 [nouveau]
[  278.448273] 
which lock already depends on the new lock.

[  278.448275] 
the existing dependency chain (in reverse order) is:
[  278.448276] 
-> #1 (&(&priv->sensor.alarm_program_lock)->rlock){-.-...}:
[  278.448279]        [<ffffffff81102104>] lock_acquire+0xa4/0x1d0
[  278.448283]        [<ffffffff818113f7>] _raw_spin_lock_irqsave+0x57/0xa0
[  278.448287]        [<ffffffffa010a284>] alarm_timer_callback+0x54/0xe0
[nouveau]
[  278.448303]        [<ffffffffa010c3b8>] nv04_timer_alarm_trigger+0x138/0x190
[nouveau]
[  278.448319]        [<ffffffffa010c470>] nv04_timer_alarm+0x60/0xd0 [nouveau]
[  278.448334]        [<ffffffffa01088d7>] nouveau_therm_update+0x307/0x350
[nouveau]
[  278.448349]        [<ffffffffa010893a>] nouveau_therm_alarm+0x1a/0x20
[nouveau]
[  278.448365]        [<ffffffffa010c3b8>] nv04_timer_alarm_trigger+0x138/0x190
[nouveau]
[  278.448380]        [<ffffffffa010c54b>] nv04_timer_intr+0x6b/0x90 [nouveau]
[  278.448395]        [<ffffffffa0105bf1>] nouveau_mc_intr+0x141/0x1c0
[nouveau]
[  278.448410]        [<ffffffff81116127>] handle_irq_event_percpu+0x77/0x340
[  278.448413]        [<ffffffff8111642d>] handle_irq_event+0x3d/0x60
[  278.448415]        [<ffffffff811193e6>] handle_edge_irq+0x66/0x130
[  278.448418]        [<ffffffff8101c3e4>] handle_irq+0x84/0x150
[  278.448421]        [<ffffffff8181482d>] do_IRQ+0x4d/0xe0
[  278.448423]        [<ffffffff81812472>] ret_from_intr+0x0/0x1a
[  278.448426]        [<ffffffff81415aba>] debug_dma_assert_idle+0xea/0x220
[  278.448429]        [<ffffffff811f3d75>] do_wp_page+0xe5/0x970
[  278.448432]        [<ffffffff811f6c9c>] handle_mm_fault+0x8ec/0xfd0
[  278.448434]        [<ffffffff81064379>] __do_page_fault+0x239/0x620
[  278.448437]        [<ffffffff81064782>] do_page_fault+0x22/0x30
[  278.448439]        [<ffffffff818139f8>] page_fault+0x28/0x30
[  278.448441] 
-> #0 (&(&priv->lock)->rlock#2){-.-...}:
[  278.448444]        [<ffffffff8110163b>] __lock_acquire+0x1abb/0x1ca0
[  278.448446]        [<ffffffff81102104>] lock_acquire+0xa4/0x1d0
[  278.448448]        [<ffffffff818113f7>] _raw_spin_lock_irqsave+0x57/0xa0
[  278.448450]        [<ffffffffa0108618>] nouveau_therm_update+0x48/0x350
[nouveau]
[  278.448465]        [<ffffffffa010893a>] nouveau_therm_alarm+0x1a/0x20
[nouveau]
[  278.448480]        [<ffffffffa010c3b8>] nv04_timer_alarm_trigger+0x138/0x190
[nouveau]
[  278.448496]        [<ffffffffa010c470>] nv04_timer_alarm+0x60/0xd0 [nouveau]
[  278.448511]        [<ffffffffa010a30d>] alarm_timer_callback+0xdd/0xe0
[nouveau]
[  278.448526]        [<ffffffffa010c3b8>] nv04_timer_alarm_trigger+0x138/0x190
[nouveau]
[  278.448542]        [<ffffffffa010c54b>] nv04_timer_intr+0x6b/0x90 [nouveau]
[  278.448557]        [<ffffffffa0105bf1>] nouveau_mc_intr+0x141/0x1c0
[nouveau]
[  278.448572]        [<ffffffff81116127>] handle_irq_event_percpu+0x77/0x340
[  278.448574]        [<ffffffff8111642d>] handle_irq_event+0x3d/0x60
[  278.448576]        [<ffffffff811193e6>] handle_edge_irq+0x66/0x130
[  278.448578]        [<ffffffff8101c3e4>] handle_irq+0x84/0x150
[  278.448581]        [<ffffffff8181482d>] do_IRQ+0x4d/0xe0
[  278.448583]        [<ffffffff81812472>] ret_from_intr+0x0/0x1a
[  278.448585]        [<ffffffff81137c72>] __module_text_address+0x12/0x70
[  278.448588]        [<ffffffff8113c196>] is_module_text_address+0x16/0x30
[  278.448590]        [<ffffffff810c566a>] __kernel_text_address+0x3a/0x90
[  278.448592]        [<ffffffff8101da72>] print_context_stack+0x62/0x100
[  278.448594]        [<ffffffff8101c620>] dump_trace+0x170/0x350
[  278.448596]        [<ffffffff8102b47b>] save_stack_trace+0x2b/0x50
[  278.448599]        [<ffffffff81413529>] dma_entry_alloc+0x59/0x90
[  278.448601]        [<ffffffff81413b8f>] debug_dma_alloc_coherent+0x2f/0x90
[  278.448603]        [<ffffffffa008f755>] ttm_dma_populate+0x545/0xaa0 [ttm]
[  278.448613]        [<ffffffffa015727c>] nouveau_ttm_tt_populate+0x14c/0x170
[nouveau]
[  278.448639]        [<ffffffffa0084d80>] ttm_tt_bind+0x40/0x80 [ttm]
[  278.448644]        [<ffffffffa008748f>] ttm_bo_handle_move_mem+0x5bf/0x650
[ttm]
[  278.448649]        [<ffffffffa00883ef>] ttm_bo_validate+0x2df/0x300 [ttm]
[  278.448654]        [<ffffffffa0088663>] ttm_bo_init+0x253/0x3b0 [ttm]
[  278.448658]        [<ffffffffa0157c82>] nouveau_bo_new+0x202/0x310 [nouveau]
[  278.448677]        [<ffffffffa015a42b>] nouveau_gem_new+0x6b/0x160 [nouveau]
[  278.448698]        [<ffffffffa015a5d6>] nouveau_gem_ioctl_new+0xb6/0x220
[nouveau]
[  278.448718]        [<ffffffffa003dcdf>] drm_ioctl+0x1df/0x6a0 [drm]
[  278.448733]        [<ffffffffa0151a45>] nouveau_drm_ioctl+0x65/0xa0
[nouveau]
[  278.448753]        [<ffffffff812628d0>] do_vfs_ioctl+0x2f0/0x520
[  278.448756]        [<ffffffff81262b81>] SyS_ioctl+0x81/0xa0
[  278.448758]        [<ffffffff818118e9>] system_call_fastpath+0x16/0x1b
[  278.448760] 
other info that might help us debug this:

[  278.448762]  Possible unsafe locking scenario:

[  278.448764]        CPU0                    CPU1
[  278.448765]        ----                    ----
[  278.448766]   lock(&(&priv->sensor.alarm_program_lock)->rlock);
[  278.448767]                                lock(&(&priv->lock)->rlock#2);
[  278.448770]                               
lock(&(&priv->sensor.alarm_program_lock)->rlock);
[  278.448771]   lock(&(&priv->lock)->rlock#2);
[  278.448773] 
 *** DEADLOCK ***

[  278.448775] 2 locks held by Xorg.bin/1249:
[  278.448776]  #0:  (reservation_ww_class_mutex){+.+.+.}, at:
[<ffffffffa00886e1>] ttm_bo_init+0x2d1/0x3b0 [ttm]
[  278.448783]  #1:  (&(&priv->sensor.alarm_program_lock)->rlock){-.-...}, at:
[<ffffffffa010a284>] alarm_timer_callback+0x54/0xe0 [nouveau]
[  278.448800] 
stack backtrace:
[  278.448803] CPU: 0 PID: 1249 Comm: Xorg.bin Not tainted
3.16.0-0.rc3.git3.1.fc21.x86_64 #1
[  278.448804] Hardware name: System manufacturer System Product
Name/M4A78LT-M, BIOS 0802    08/24/2010
[  278.448806]  0000000000000000 000000007a5a7c22 ffff88011aa03b00
ffffffff81807cec
[  278.448809]  ffffffff82bc2ef0 ffff88011aa03b40 ffffffff8180508c
ffff88011aa03ba0
[  278.448812]  ffff8801185b9a40 ffff8801185b99d0 0000000000000002
ffff8801185ba5a8
[  278.448815] Call Trace:
[  278.448816]  <IRQ>  [<ffffffff81807cec>] dump_stack+0x4d/0x66
[  278.448823]  [<ffffffff8180508c>] print_circular_bug+0x201/0x20f
[  278.448825]  [<ffffffff8110163b>] __lock_acquire+0x1abb/0x1ca0
[  278.448828]  [<ffffffff810242de>] ? native_sched_clock+0x2e/0xb0
[  278.448831]  [<ffffffff81102104>] lock_acquire+0xa4/0x1d0
[  278.448847]  [<ffffffffa0108618>] ? nouveau_therm_update+0x48/0x350
[nouveau]
[  278.448850]  [<ffffffff818113f7>] _raw_spin_lock_irqsave+0x57/0xa0
[  278.448866]  [<ffffffffa0108618>] ? nouveau_therm_update+0x48/0x350
[nouveau]
[  278.448882]  [<ffffffffa0108618>] nouveau_therm_update+0x48/0x350 [nouveau]
[  278.448898]  [<ffffffffa010893a>] nouveau_therm_alarm+0x1a/0x20 [nouveau]
[  278.448915]  [<ffffffffa010c3b8>] nv04_timer_alarm_trigger+0x138/0x190
[nouveau]
[  278.448931]  [<ffffffffa010c470>] nv04_timer_alarm+0x60/0xd0 [nouveau]
[  278.448948]  [<ffffffffa010a30d>] alarm_timer_callback+0xdd/0xe0 [nouveau]
[  278.448964]  [<ffffffffa010c3b8>] nv04_timer_alarm_trigger+0x138/0x190
[nouveau]
[  278.448981]  [<ffffffffa010c54b>] nv04_timer_intr+0x6b/0x90 [nouveau]
[  278.448998]  [<ffffffffa0105bf1>] nouveau_mc_intr+0x141/0x1c0 [nouveau]
[  278.449000]  [<ffffffff81116127>] handle_irq_event_percpu+0x77/0x340
[  278.449003]  [<ffffffff8111642d>] handle_irq_event+0x3d/0x60
[  278.449005]  [<ffffffff811193e6>] handle_edge_irq+0x66/0x130
[  278.449007]  [<ffffffff8101c3e4>] handle_irq+0x84/0x150
[  278.449010]  [<ffffffff810e2145>] ? irqtime_account_irq+0xc5/0xd0
[  278.449012]  [<ffffffff8181482d>] do_IRQ+0x4d/0xe0
[  278.449015]  [<ffffffff81812472>] common_interrupt+0x72/0x72
[  278.449016]  <EOI>  [<ffffffffa0084000>] ? 0xffffffffa0083fff
[  278.449023]  [<ffffffff81137b39>] ? __module_address+0x29/0x150
[  278.449026]  [<ffffffff81137c03>] ? __module_address+0xf3/0x150
[  278.449029]  [<ffffffff81137c72>] __module_text_address+0x12/0x70
[  278.449031]  [<ffffffff8113c196>] is_module_text_address+0x16/0x30
[  278.449034]  [<ffffffff810c566a>] __kernel_text_address+0x3a/0x90
[  278.449036]  [<ffffffff8101da72>] print_context_stack+0x62/0x100
[  278.449038]  [<ffffffff8101c620>] dump_trace+0x170/0x350
[  278.449041]  [<ffffffff8102b47b>] save_stack_trace+0x2b/0x50
[  278.449043]  [<ffffffff81413529>] dma_entry_alloc+0x59/0x90
[  278.449045]  [<ffffffff81413b8f>] debug_dma_alloc_coherent+0x2f/0x90
[  278.449051]  [<ffffffffa008f755>] ttm_dma_populate+0x545/0xaa0 [ttm]
[  278.449072]  [<ffffffffa015727c>] nouveau_ttm_tt_populate+0x14c/0x170
[nouveau]
[  278.449078]  [<ffffffffa0084d80>] ttm_tt_bind+0x40/0x80 [ttm]
[  278.449084]  [<ffffffffa008748f>] ttm_bo_handle_move_mem+0x5bf/0x650 [ttm]
[  278.449089]  [<ffffffffa0087c59>] ? ttm_bo_mem_space+0x179/0x370 [ttm]
[  278.449092]  [<ffffffff810fc24f>] ? lock_release_holdtime.part.28+0xf/0x200
[  278.449098]  [<ffffffffa00883ef>] ttm_bo_validate+0x2df/0x300 [ttm]
[  278.449100]  [<ffffffff810ff72d>] ? trace_hardirqs_on_caller+0x15d/0x200
[  278.449106]  [<ffffffffa0088663>] ttm_bo_init+0x253/0x3b0 [ttm]
[  278.449126]  [<ffffffffa0157c82>] nouveau_bo_new+0x202/0x310 [nouveau]
[  278.449147]  [<ffffffffa0156660>] ? nv10_bo_put_tile_region+0x50/0x50
[nouveau]
[  278.449168]  [<ffffffffa015a42b>] nouveau_gem_new+0x6b/0x160 [nouveau]
[  278.449189]  [<ffffffffa015a5d6>] nouveau_gem_ioctl_new+0xb6/0x220 [nouveau]
[  278.449197]  [<ffffffffa003dcdf>] drm_ioctl+0x1df/0x6a0 [drm]
[  278.449201]  [<ffffffff810ff72d>] ? trace_hardirqs_on_caller+0x15d/0x200
[  278.449203]  [<ffffffff810ff7dd>] ? trace_hardirqs_on+0xd/0x10
[  278.449223]  [<ffffffffa0151a45>] nouveau_drm_ioctl+0x65/0xa0 [nouveau]
[  278.449226]  [<ffffffff812628d0>] do_vfs_ioctl+0x2f0/0x520
[  278.449228]  [<ffffffff81262b81>] SyS_ioctl+0x81/0xa0
[  278.449231]  [<ffffffff8115fb9c>] ? __audit_syscall_entry+0x9c/0xf0
[  278.449234]  [<ffffffff818118e9>] system_call_fastpath+0x16/0x1b

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux