Comment 10 for bug 1031336

Revision history for this message
Botao (botao-sun) wrote : Re: Panda frequent hangs and crashes: possible recursive locking detected

Confirmed. For Panda 4460, observed dead lock on pre-built image:

http://releases.linaro.org/12.08/ubuntu/leb-panda/lt-panda-x11-base_20120826-270-ubuntu-desktop.img.gz

However, this wouldn't hang the board.

[ 21.546112] =============================================
[ 21.551818] [ INFO: possible recursive locking detected ]
[ 21.557525] 3.4.0-2-linaro-lt-omap #2~ci+120825182553-Ubuntu Tainted: G C O
[ 21.565612] ---------------------------------------------
[ 21.571258] Xorg/2058 is trying to acquire lock:
[ 21.576110] (psPVRSRVMutex){+.+.+.}, at: [<bf9ea3ff>] LinuxLockMutex+0xe/0x10 [omapdrm_pvr]
[ 21.585021]
[ 21.585021] but task is already holding lock:
[ 21.591156] (psPVRSRVMutex){+.+.+.}, at: [<bf9ea3ff>] LinuxLockMutex+0xe/0x10 [omapdrm_pvr]
[ 21.600036]
[ 21.600036] other info that might help us debug this:
[ 21.606903] Possible unsafe locking scenario:
[ 21.606903]
[ 21.613128] CPU0
[ 21.615692] ----
[ 21.618225] lock(psPVRSRVMutex);
[ 21.621826] lock(psPVRSRVMutex);
[ 21.625396]
[ 21.625396] *** DEADLOCK ***
[ 21.625396]
[ 21.631622] May be due to missing lock nesting notation
[ 21.631622]
[ 21.638732] 2 locks held by Xorg/2058:
[ 21.642669] #0: (drm_global_mutex){+.+.+.}, at: [<c02a9e21>] drm_release+0x21/0x288
[ 21.650909] #1: (psPVRSRVMutex){+.+.+.}, at: [<bf9ea3ff>] LinuxLockMutex+0xe/0x10 [omapdrm_pvr]
[ 21.660278]
[ 21.660278] stack backtrace:
[ 21.664886] [<c0011011>] (unwind_backtrace+0x1/0x90) from [<c005b3bd>] (print_deadlock_bug+0x81/0xac)
[ 21.674560] [<c005b3bd>] (print_deadlock_bug+0x81/0xac) from [<c005c409>] (validate_chain.isra.26+0x341/0x360)
[ 21.685058] [<c005c409>] (validate_chain.isra.26+0x341/0x360) from [<c005cd2f>] (__lock_acquire+0x4d5/0x54e)
[ 21.695373] [<c005cd2f>] (__lock_acquire+0x4d5/0x54e) from [<c005d19f>] (lock_acquire+0xbb/0xd8)
[ 21.704620] [<c005d19f>] (lock_acquire+0xbb/0xd8) from [<c046804f>] (mutex_lock_nested+0x37/0x250)
[ 21.714050] [<c046804f>] (mutex_lock_nested+0x37/0x250) from [<bf9ea3ff>] (LinuxLockMutex+0xe/0x10 [omapdrm_pvr])
[ 21.724853] [<bf9ea3ff>] (LinuxLockMutex+0xe/0x10 [omapdrm_pvr]) from [<bf9e8ec9>] (LinuxMMapPerProcessDisconnect+0x16/0x4e [omapdrm_pvr])
[ 21.737915] [<bf9e8ec9>] (LinuxMMapPerProcessDisconnect+0x16/0x4e [omapdrm_pvr]) from [<bf9ea6f3>] (OSPerProcessPrivateDataDeInit+0x10/0x26 [omapdrm_pvr])
[ 21.752441] [<bf9ea6f3>] (OSPerProcessPrivateDataDeInit+0x10/0x26 [omapdrm_pvr]) from [<bf9eeff3>] (PVRSRVDissociateMemFromResmanKM+0x58/0x76 [omapdrm_pvr])
[ 21.767181] [<bf9eeff3>] (PVRSRVDissociateMemFromResmanKM+0x58/0x76 [omapdrm_pvr]) from [<bf9ef113>] (PVRSRVPerProcessDataDisconnect+0x2a/0x3c [omapdrm_pvr])
[ 21.781982] [<bf9ef113>] (PVRSRVPerProcessDataDisconnect+0x2a/0x3c [omapdrm_pvr]) from [<bf9f021f>] (PVRSRVProcessDisconnect+0xc/0xe [omapdrm_pvr])
[ 21.795867] [<bf9f021f>] (PVRSRVProcessDisconnect+0xc/0xe [omapdrm_pvr]) from [<bf9e9195>] (PVRSRVRelease+0x5c/0x8c [omapdrm_pvr])
[ 21.808227] [<bf9e9195>] (PVRSRVRelease+0x5c/0x8c [omapdrm_pvr]) from [<bf9f901f>] (PVRSRVDrmRelease+0x1a/0x2c [omapdrm_pvr])
[ 21.820098] [<bf9f901f>] (PVRSRVDrmRelease+0x1a/0x2c [omapdrm_pvr]) from [<c0365c4f>] (dev_preclose+0x2b/0x54)
[ 21.830627] [<c0365c4f>] (dev_preclose+0x2b/0x54) from [<c02a9e41>] (drm_release+0x41/0x288)
[ 21.839477] [<c02a9e41>] (drm_release+0x41/0x288) from [<c00bd477>] (__fput+0x97/0x154)
[ 21.847900] [<c00bd477>] (__fput+0x97/0x154) from [<c00bada5>] (filp_close+0x41/0x48)
[ 21.856109] [<c00bada5>] (filp_close+0x41/0x48) from [<c00bae33>] (sys_close+0x87/0xc4)
[ 21.864532] [<c00bae33>] (sys_close+0x87/0xc4) from [<c000c101>] (ret_fast_syscall+0x1/0x52)