Comment 7 for bug 817282

Revision history for this message
Ricardo Salveti (rsalveti) wrote : Re: deadlock 11.07 RC LEB with panda-lt-x11

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)