Seen on eve with chromeos-4.12 after enabling lockdebug.
[ 139.802542] ======================================================
[ 139.809465] WARNING: possible circular locking dependency detected
[ 139.816391] 4.12.14 #14 Not tainted
[ 139.820303] ------------------------------------------------------
[ 139.827230] wayland-service/2671 is trying to acquire lock:
[ 139.833472] (&(&array->lock)->rlock){......}, at: [<ffffffff94d4e5a9>] dma_fence_signal+0x93/0x14d
[ 139.843627]
but task is already holding lock:
[ 139.850166] (&(&obj->child_list_lock)->rlock){......}, at: [<ffffffff94d51862>] sw_sync_ioctl+0x3db/0x505
[ 139.860992]
which lock already depends on the new lock.
[ 139.870147]
the existing dependency chain (in reverse order) is:
[ 139.878530]
-> #1 (&(&obj->child_list_lock)->rlock){......}:
[ 139.886546] lock_acquire+0x1e1/0x217
[ 139.891243] _raw_spin_lock_irqsave+0x3a/0x4e
[ 139.896719] dma_fence_add_callback+0x89/0x182
[ 139.902292] dma_fence_array_enable_signaling+0xad/0xec
[ 139.908739] dma_fence_add_callback+0xdd/0x182
[ 139.914311] sync_file_poll+0x93/0xc8
[ 139.919013] do_sys_poll+0x386/0x68b
[ 139.923616] SyS_ppoll+0x10b/0x1a4
[ 139.928023] entry_SYSCALL_64_fastpath+0x2c/0xc1
[ 139.933779]
-> #0 (&(&array->lock)->rlock){......}:
[ 139.940921] __lock_acquire+0x1269/0x15be
[ 139.946010] lock_acquire+0x1e1/0x217
[ 139.950711] _raw_spin_lock_irqsave+0x3a/0x4e
[ 139.956188] dma_fence_signal+0x93/0x14d
[ 139.961177] dma_fence_array_cb_func+0x46/0x4b
[ 139.966747] dma_fence_signal_locked+0x11f/0x149
[ 139.972507] sw_sync_ioctl+0x46a/0x505
[ 139.977299] vfs_ioctl+0x4b/0x5d
[ 139.981511] do_vfs_ioctl+0x643/0x666
[ 139.986208] SyS_ioctl+0x57/0x79
[ 139.990421] entry_SYSCALL_64_fastpath+0x2c/0xc1
[ 139.996176]
Complete dmesg log is attached.
Related upstream discussion: https://patchwork.freedesktop.org/patch/119844/
|
Deleted:
dmesg.wayland.170920
58.3 KB
|
Comment 1 by marc...@chromium.org
, Sep 27 2017