BUG: workqueue lockup - pool cpus=1 node=0 flags=0x0 nice=0 stuck for 184s! Showing busy workqueues and worker pools: workqueue events_long: flags=0x0 pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=1/256 pending: gc_worker ====================================================== WARNING: possible circular locking dependency detected 4.14.133+ #17 Not tainted ------------------------------------------------------ swapper/0/0 is trying to acquire lock: (console_owner){-.-.}, at: [<00000000298da86d>] log_next /kernel/printk/printk.c:492 [inline] (console_owner){-.-.}, at: [<00000000298da86d>] console_unlock+0x28e/0xc70 /kernel/printk/printk.c:2378 but task is already holding lock: (&(&pool->lock)->rlock){-.-.}, at: [<000000005cae8eab>] show_workqueue_state /kernel/workqueue.c:4518 [inline] (&(&pool->lock)->rlock){-.-.}, at: [<000000005cae8eab>] show_workqueue_state.cold+0x22f/0xeb3 /kernel/workqueue.c:4491 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #4 (&(&pool->lock)->rlock){-.-.}: -> #3 (&pool->lock/1){..-.}: -> #2 (&(&port->lock)->rlock){-.-.}: -> #1 (&port_lock_key){-.-.}: -> #0 (console_owner){-.-.}: other info that might help us debug this: Chain exists of: console_owner --> &pool->lock/1 --> &(&pool->lock)->rlock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&(&pool->lock)->rlock); lock(&pool->lock/1); lock(&(&pool->lock)->rlock); lock(console_owner); *** DEADLOCK *** 4 locks held by swapper/0/0: #0: (kernel/workqueue.c:5442){+.-.}, at: [<0000000035540175>] lockdep_copy_map /./include/linux/lockdep.h:174 [inline] #0: (kernel/workqueue.c:5442){+.-.}, at: [<0000000035540175>] call_timer_fn+0xc6/0x6a0 /kernel/time/timer.c:1269 #1: (rcu_read_lock_sched){....}, at: [<00000000002fc9b2>] show_workqueue_state+0x0/0x100 /kernel/workqueue.c:4390 #2: (&(&pool->lock)->rlock){-.-.}, at: [<000000005cae8eab>] show_workqueue_state /kernel/workqueue.c:4518 [inline] #2: (&(&pool->lock)->rlock){-.-.}, at: [<000000005cae8eab>] show_workqueue_state.cold+0x22f/0xeb3 /kernel/workqueue.c:4491 #3: (console_lock){+.+.}, at: [<000000006e96c9a3>] console_trylock_spinning /kernel/printk/printk.c:1644 [inline] #3: (console_lock){+.+.}, at: [<000000006e96c9a3>] vprintk_emit+0x11a/0x330 /kernel/printk/printk.c:1916 stack backtrace: CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.14.133+ #17 Call Trace: __dump_stack /lib/dump_stack.c:17 [inline] dump_stack+0xca/0x134 /lib/dump_stack.c:53 print_circular_bug.isra.0.cold+0x2dc/0x425 /kernel/locking/lockdep.c:1258 workqueue events_power_efficient: flags=0x80 pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=2/256 pending: neigh_periodic_work, check_lifetime workqueue mm_percpu_wq: flags=0x8 pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=1/256 pending: vmstat_update workqueue dm_bufio_cache: flags=0x8 pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=1/256 pending: work_fn workqueue ipv6_addrconf: flags=0x40008 pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=1/1 pending: addrconf_verify_work