This bug is still happening with latest SGX drop from TI:
pvr-omap4 - 1.7.9.0.1.5-1
pvr-omap4-dkms - 1.7.9.0.1.3-1
hwpack: hwpack_linaro-lt-panda-x11-base_20111016-0_armel_supported.tar.gz
image: linaro-o-ubuntu-desktop-tar-20111016-1.tar.gz
[ 36.257171] omap_device: omapdrm_pvr.0: new worst case activate latency 0: 305175
[ 36.274078] omaplfb: Device 31: Framebuffer physical address: 0xbd000000
[ 36.274108] omaplfb: Device 31: Framebuffer virtual address: 0xf1000000
[ 36.274108] omaplfb: Device 31: Framebuffer size: 8294400
[ 36.274139] omaplfb: Device 31: Framebuffer width: 1920
[ 36.274139] omaplfb: Device 31: Framebuffer height: 1080
[ 36.274169] omaplfb: Device 31: Framebuffer stride: 7680
[ 36.274169] omaplfb: Device 31: LCM of stride and page size: 61440
[ 36.274200] omaplfb: Device 31: Maximum number of swap chain buffers: 3
[ 36.274200] omaplfb: Device 31: PVR Device ID: 1
[ 36.277526]
[ 36.277526] =============================================
[ 36.284790] [ INFO: possible recursive locking detected ]
[ 36.289031] 3.0.0-1404-linaro-lt-omap #9~ppa-Ubuntu
[ 36.289031] ---------------------------------------------
[ 36.301269] Xorg/1594 is trying to acquire lock:
[ 36.302642] (psPVRSRVMutex){+.+.+.}, at: [<bf063c64>] LinuxLockMutex+0x1c/0x20 [omapdrm_pvr]
[ 36.308502]
[ 36.308502] but task is already holding lock:
[ 36.321319] (psPVRSRVMutex){+.+.+.}, at: [<bf063c64>] LinuxLockMutex+0x1c/0x20 [omapdrm_pvr]
[ 36.328704]
[ 36.328704] other info that might help us debug this:
[ 36.336517] Possible unsafe locking scenario:
[ 36.336517]
[ 36.342742] CPU0
[ 36.345642] ----
[ 36.347747] lock(psPVRSRVMutex);
[ 36.347747] lock(psPVRSRVMutex);
[ 36.355560]
[ 36.355560] *** DEADLOCK ***
[ 36.355560]
[ 36.359252] May be due to missing lock nesting notation
[ 36.361907]
[ 36.365966] 2 locks held by Xorg/1594:
[ 36.365966] #0: (drm_global_mutex){+.+.+.}, at: [<c03d8e14>] drm_release+0x34/0x388
[ 36.381195] #1: (psPVRSRVMutex){+.+.+.}, at: [<bf063c64>] LinuxLockMutex+0x1c/0x20 [omapdrm_pvr]
[ 36.381988]
[ 36.381988] stack backtrace:
[ 36.395263] [<c001ab2c>] (unwind_backtrace+0x0/0xec) from [<c06e371c>] (dump_stack+0x20/0x24)
[ 36.397644] [<c06e371c>] (dump_stack+0x20/0x24) from [<c008de18>] (print_deadlock_bug+0xb8/0xe4)
[ 36.413452] [<c008de18>] (print_deadlock_bug+0xb8/0xe4) from [<c008dfd0>] (check_deadlock.clone.15+0x18c/0x1b8)
[ 36.413574] [<c008dfd0>] (check_deadlock.clone.15+0x18c/0x1b8) from [<c008fb50>] (validate_chain.clone.16+0x504/0x554)
[ 36.435302] [<c008fb50>] (validate_chain.clone.16+0x504/0x554) from [<c0090d6c>] (__lock_acquire+0x708/0x7cc)
[ 36.443786] [<c0090d6c>] (__lock_acquire+0x708/0x7cc) from [<c0091478>] (lock_acquire+0x124/0x148)
[ 36.454864] [<c0091478>] (lock_acquire+0x124/0x148) from [<c06e5df8>] (mutex_lock_nested+0x70/0x3a8)
[ 36.464752] [<c06e5df8>] (mutex_lock_nested+0x70/0x3a8) from [<bf063c64>] (LinuxLockMutex+0x1c/0x20 [omapdrm_pvr])
[ 36.474548] [<bf063c64>] (LinuxLockMutex+0x1c/0x20 [omapdrm_pvr]) from [<bf061cec>] (LinuxMMapPerProcessDisconnect+0x28/0x78 [omapdrm_pvr])
[ 36.488830] [<bf061cec>] (LinuxMMapPerProcessDisconnect+0x28/0x78 [omapdrm_pvr]) from [<bf064160>] (OSPerProcessPrivateDataDeInit+0x20/0x44 [omapdrm_pvr])
[ 36.503387] [<bf064160>] (OSPerProcessPrivateDataDeInit+0x20/0x44 [omapdrm_pvr]) from [<bf073640>] (BridgedDispatchKM+0x1f8/0x228 [omapdrm_pvr])
[ 36.516265] [<bf073640>] (BridgedDispatchKM+0x1f8/0x228 [omapdrm_pvr]) from [<bf073834>] (PVRSRVPerProcessDataDisconnect+0x50/0x68 [omapdrm_pvr])
[ 36.523406] [<bf073834>] (PVRSRVPerProcessDataDisconnect+0x50/0x68 [omapdrm_pvr]) from [<bf06bda8>] (PVRSRVProcessDisconnect+0x18/0x1c [omapdrm_pvr])
[ 36.539031] [<bf06bda8>] (PVRSRVProcessDisconnect+0x18/0x1c [omapdrm_pvr]) from [<bf062058>] (PVRSRVRelease+0x5c/0x94 [omapdrm_pvr])
[ 36.552703] [<bf062058>] (PVRSRVRelease+0x5c/0x94 [omapdrm_pvr]) from [<bf07abc8>] (PVRSRVDrmRelease+0x24/0x2c [omapdrm_pvr])
[ 36.568725] [<bf07abc8>] (PVRSRVDrmRelease+0x24/0x2c [omapdrm_pvr]) from [<c05044d0>] (dev_postclose+0x58/0x84)
[ 36.579620] [<c05044d0>] (dev_postclose+0x58/0x84) from [<c03d90cc>] (drm_release+0x2ec/0x388)
[ 36.588775] [<c03d90cc>] (drm_release+0x2ec/0x388) from [<c010430c>] (__fput+0x110/0x1d8)
[ 36.597442] [<c010430c>] (__fput+0x110/0x1d8) from [<c0104414>] (fput+0x40/0x44)
[ 36.605346] [<c0104414>] (fput+0x40/0x44) from [<c0100a70>] (filp_close+0x80/0x8c)
[ 36.613342] [<c0100a70>] (filp_close+0x80/0x8c) from [<c0100b18>] (sys_close+0x9c/0xdc)
[ 36.613372] [<c0100b18>] (sys_close+0x9c/0xdc) from [<c0013200>] (ret_fast_syscall+0x0/0x3c)
This bug is still happening with latest SGX drop from TI: linaro- lt-panda- x11-base_ 20111016- 0_armel_ supported. tar.gz o-ubuntu- desktop- tar-20111016- 1.tar.gz
pvr-omap4 - 1.7.9.0.1.5-1
pvr-omap4-dkms - 1.7.9.0.1.3-1
hwpack: hwpack_
image: linaro-
[ 36.257171] omap_device: omapdrm_pvr.0: new worst case activate latency 0: 305175 ======= ======= ======= ======= ======= === linaro- lt-omap #9~ppa-Ubuntu ------- ------- ------- ------- ------- --- {+.+.+. }, at: [<bf063c64>] LinuxLockMutex+ 0x1c/0x20 [omapdrm_pvr] {+.+.+. }, at: [<bf063c64>] LinuxLockMutex+ 0x1c/0x20 [omapdrm_pvr] tex); tex); mutex){ +.+.+.} , at: [<c03d8e14>] drm_release+ 0x34/0x388 {+.+.+. }, at: [<bf063c64>] LinuxLockMutex+ 0x1c/0x20 [omapdrm_pvr] backtrace+ 0x0/0xec) from [<c06e371c>] (dump_stack+ 0x20/0x24) 0x20/0x24) from [<c008de18>] (print_ deadlock_ bug+0xb8/ 0xe4) deadlock_ bug+0xb8/ 0xe4) from [<c008dfd0>] (check_ deadlock. clone.15+ 0x18c/0x1b8) deadlock. clone.15+ 0x18c/0x1b8) from [<c008fb50>] (validate_ chain.clone. 16+0x504/ 0x554) chain.clone. 16+0x504/ 0x554) from [<c0090d6c>] (__lock_ acquire+ 0x708/0x7cc) acquire+ 0x708/0x7cc) from [<c0091478>] (lock_acquire+ 0x124/0x148) 0x124/0x148) from [<c06e5df8>] (mutex_ lock_nested+ 0x70/0x3a8) lock_nested+ 0x70/0x3a8) from [<bf063c64>] (LinuxLockMutex +0x1c/0x20 [omapdrm_pvr]) +0x1c/0x20 [omapdrm_pvr]) from [<bf061cec>] (LinuxMMapPerPr ocessDisconnect +0x28/0x78 [omapdrm_pvr]) ocessDisconnect +0x28/0x78 [omapdrm_pvr]) from [<bf064160>] (OSPerProcessPr ivateDataDeInit +0x20/0x44 [omapdrm_pvr]) ivateDataDeInit +0x20/0x44 [omapdrm_pvr]) from [<bf073640>] (BridgedDispatc hKM+0x1f8/ 0x228 [omapdrm_pvr]) hKM+0x1f8/ 0x228 [omapdrm_pvr]) from [<bf073834>] (PVRSRVPerProce ssDataDisconnec t+0x50/ 0x68 [omapdrm_pvr]) ssDataDisconnec t+0x50/ 0x68 [omapdrm_pvr]) from [<bf06bda8>] (PVRSRVProcessD isconnect+ 0x18/0x1c [omapdrm_pvr]) isconnect+ 0x18/0x1c [omapdrm_pvr]) from [<bf062058>] (PVRSRVRelease+ 0x5c/0x94 [omapdrm_pvr]) 0x5c/0x94 [omapdrm_pvr]) from [<bf07abc8>] (PVRSRVDrmRelea se+0x24/ 0x2c [omapdrm_pvr]) se+0x24/ 0x2c [omapdrm_pvr]) from [<c05044d0>] (dev_postclose+ 0x58/0x84) 0x58/0x84) from [<c03d90cc>] (drm_release+ 0x2ec/0x388) 0x2ec/0x388) from [<c010430c>] (__fput+ 0x110/0x1d8) 0x110/0x1d8) from [<c0104414>] (fput+0x40/0x44) 0x80/0x8c) 0x80/0x8c) from [<c0100b18>] (sys_close+ 0x9c/0xdc) 0x9c/0xdc) from [<c0013200>] (ret_fast_ syscall+ 0x0/0x3c)
[ 36.274078] omaplfb: Device 31: Framebuffer physical address: 0xbd000000
[ 36.274108] omaplfb: Device 31: Framebuffer virtual address: 0xf1000000
[ 36.274108] omaplfb: Device 31: Framebuffer size: 8294400
[ 36.274139] omaplfb: Device 31: Framebuffer width: 1920
[ 36.274139] omaplfb: Device 31: Framebuffer height: 1080
[ 36.274169] omaplfb: Device 31: Framebuffer stride: 7680
[ 36.274169] omaplfb: Device 31: LCM of stride and page size: 61440
[ 36.274200] omaplfb: Device 31: Maximum number of swap chain buffers: 3
[ 36.274200] omaplfb: Device 31: PVR Device ID: 1
[ 36.277526]
[ 36.277526] =======
[ 36.284790] [ INFO: possible recursive locking detected ]
[ 36.289031] 3.0.0-1404-
[ 36.289031] -------
[ 36.301269] Xorg/1594 is trying to acquire lock:
[ 36.302642] (psPVRSRVMutex)
[ 36.308502]
[ 36.308502] but task is already holding lock:
[ 36.321319] (psPVRSRVMutex)
[ 36.328704]
[ 36.328704] other info that might help us debug this:
[ 36.336517] Possible unsafe locking scenario:
[ 36.336517]
[ 36.342742] CPU0
[ 36.345642] ----
[ 36.347747] lock(psPVRSRVMu
[ 36.347747] lock(psPVRSRVMu
[ 36.355560]
[ 36.355560] *** DEADLOCK ***
[ 36.355560]
[ 36.359252] May be due to missing lock nesting notation
[ 36.361907]
[ 36.365966] 2 locks held by Xorg/1594:
[ 36.365966] #0: (drm_global_
[ 36.381195] #1: (psPVRSRVMutex)
[ 36.381988]
[ 36.381988] stack backtrace:
[ 36.395263] [<c001ab2c>] (unwind_
[ 36.397644] [<c06e371c>] (dump_stack+
[ 36.413452] [<c008de18>] (print_
[ 36.413574] [<c008dfd0>] (check_
[ 36.435302] [<c008fb50>] (validate_
[ 36.443786] [<c0090d6c>] (__lock_
[ 36.454864] [<c0091478>] (lock_acquire+
[ 36.464752] [<c06e5df8>] (mutex_
[ 36.474548] [<bf063c64>] (LinuxLockMutex
[ 36.488830] [<bf061cec>] (LinuxMMapPerPr
[ 36.503387] [<bf064160>] (OSPerProcessPr
[ 36.516265] [<bf073640>] (BridgedDispatc
[ 36.523406] [<bf073834>] (PVRSRVPerProce
[ 36.539031] [<bf06bda8>] (PVRSRVProcessD
[ 36.552703] [<bf062058>] (PVRSRVRelease+
[ 36.568725] [<bf07abc8>] (PVRSRVDrmRelea
[ 36.579620] [<c05044d0>] (dev_postclose+
[ 36.588775] [<c03d90cc>] (drm_release+
[ 36.597442] [<c010430c>] (__fput+
[ 36.605346] [<c0104414>] (fput+0x40/0x44) from [<c0100a70>] (filp_close+
[ 36.613342] [<c0100a70>] (filp_close+
[ 36.613372] [<c0100b18>] (sys_close+