syzbot


INFO: rcu detected stall in pwq_unbound_release_workfn (2)

Status: auto-closed as invalid on 2022/09/06 17:05
Subsystems: kernel
[Documentation on labels]
First crash: 651d, last: 651d
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: rcu detected stall in pwq_unbound_release_workfn kernel 1 872d 872d 0/26 closed as invalid on 2022/02/08 10:10
upstream INFO: rcu detected stall in pwq_unbound_release_workfn (3) kernel 1 450d 450d 0/26 auto-obsoleted due to no activity on 2023/04/25 19:12
upstream INFO: rcu detected stall in pwq_unbound_release_workfn (4) kernel 2 284d 333d 0/26 auto-obsoleted due to no activity on 2023/10/08 15:59

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
	(detected by 0, t=10503 jiffies, g=159085, q=48 ncpus=2)
rcu: All QSes seen, last rcu_preempt kthread activity 10501 (4295110104-4295099603), jiffies_till_next_fqs=1, root ->qsmask 0x0
rcu: rcu_preempt kthread starved for 10501 jiffies! g159085 f0x2 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=1
rcu: 	Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
rcu: RCU grace-period kthread stack dump:
task:rcu_preempt     state:R  running task     stack:28368 pid:   16 ppid:     2 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5184 [inline]
 __schedule+0xa09/0x4f10 kernel/sched/core.c:6496
 schedule+0xd2/0x1f0 kernel/sched/core.c:6568
 schedule_timeout+0x14a/0x2a0 kernel/time/timer.c:1935
 rcu_gp_fqs_loop+0x190/0x910 kernel/rcu/tree.c:1657
 rcu_gp_kthread+0x234/0x360 kernel/rcu/tree.c:1854
 kthread+0x2e9/0x3a0 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302
 </TASK>
rcu: Stack dump where RCU GP kthread last ran:
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 28482 Comm: kworker/1:7 Not tainted 5.19.0-rc4-next-20220628-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/2022
Workqueue: events pwq_unbound_release_workfn
RIP: 0010:mark_lock.part.0+0x158/0x1910 kernel/locking/lockdep.c:4591
Code: 70 50 0f 84 d3 06 00 00 41 ba 01 00 00 00 48 b8 00 00 00 00 00 fc ff df 48 01 c3 48 c7 03 00 00 00 00 48 c7 43 08 00 00 00 00 <48> c7 43 14 00 00 00 00 48 8b 84 24 30 01 00 00 65 48 2b 04 25 28
RSP: 0018:ffffc900001e0980 EFLAGS: 00000082
RAX: dffffc0000000000 RBX: fffff5200003c137 RCX: 1ffffffff20d4bb6
RDX: dffffc0000000000 RSI: 0000000000000001 RDI: ffffffff906a5db0
RBP: 0000000000000001 R08: 0000000000000000 R09: ffffffff906a5947
R10: 0000000000000001 R11: 0000000000000001 R12: ffff8880247a4548
R13: 0000000000000000 R14: 0000000000000000 R15: ffff8880247a4568
FS:  0000000000000000(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000140 CR3: 0000000048599000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 mark_lock kernel/locking/lockdep.c:4596 [inline]
 mark_usage kernel/locking/lockdep.c:4524 [inline]
 __lock_acquire+0x14ad/0x5660 kernel/locking/lockdep.c:5007
 lock_acquire kernel/locking/lockdep.c:5665 [inline]
 lock_acquire+0x1ab/0x570 kernel/locking/lockdep.c:5630
 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
 _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:162
 debug_object_deactivate lib/debugobjects.c:739 [inline]
 debug_object_deactivate+0x101/0x300 lib/debugobjects.c:727
 debug_hrtimer_deactivate kernel/time/hrtimer.c:425 [inline]
 debug_deactivate kernel/time/hrtimer.c:481 [inline]
 __run_hrtimer kernel/time/hrtimer.c:1653 [inline]
 __hrtimer_run_queues+0x3f3/0xe40 kernel/time/hrtimer.c:1749
 hrtimer_interrupt+0x31c/0x790 kernel/time/hrtimer.c:1811
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1095 [inline]
 __sysvec_apic_timer_interrupt+0x146/0x530 arch/x86/kernel/apic/apic.c:1112
 sysvec_apic_timer_interrupt+0x8e/0xc0 arch/x86/kernel/apic/apic.c:1106
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:649
RIP: 0010:lockdep_unregister_key+0x279/0x460 kernel/locking/lockdep.c:6358
Code: e8 ec ea ff ff 4c 89 e7 e8 e4 c6 ff ff e8 8f c7 ff ff 9c 58 f6 c4 02 0f 85 43 01 00 00 41 f7 c6 00 02 00 00 0f 85 ec 00 00 00 <e8> 82 65 08 00 48 b8 00 00 00 00 00 fc ff df 49 c7 44 05 00 00 00
RSP: 0018:ffffc90015f97c38 EFLAGS: 00000206
RAX: 0000000000000046 RBX: ffff888029dc9128 RCX: 0000000000000001
RDX: dffffc0000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffff888029dc9128 R08: 0000000000000001 R09: ffffffff8f3a3db0
R10: fffffbfff20d40a3 R11: 00000000000633d8 R12: ffffffff9069d908
R13: 1ffff92002bf2f88 R14: 0000000000000246 R15: ffffffff9082c600
 wq_unregister_lockdep kernel/workqueue.c:3499 [inline]
 pwq_unbound_release_workfn+0x254/0x340 kernel/workqueue.c:3737
 process_one_work+0x991/0x1610 kernel/workqueue.c:2289
 worker_thread+0x665/0x1080 kernel/workqueue.c:2436
 kthread+0x2e9/0x3a0 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302
 </TASK>
----------------
Code disassembly (best guess):
   0:	70 50                	jo     0x52
   2:	0f 84 d3 06 00 00    	je     0x6db
   8:	41 ba 01 00 00 00    	mov    $0x1,%r10d
   e:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  15:	fc ff df
  18:	48 01 c3             	add    %rax,%rbx
  1b:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
  22:	48 c7 43 08 00 00 00 	movq   $0x0,0x8(%rbx)
  29:	00
* 2a:	48 c7 43 14 00 00 00 	movq   $0x0,0x14(%rbx) <-- trapping instruction
  31:	00
  32:	48 8b 84 24 30 01 00 	mov    0x130(%rsp),%rax
  39:	00
  3a:	65                   	gs
  3b:	48                   	rex.W
  3c:	2b                   	.byte 0x2b
  3d:	04 25                	add    $0x25,%al
  3f:	28                   	.byte 0x28

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/07/08 17:01 linux-next cb71b93c2dc3 b5765a15 .config console log report info ci-upstream-linux-next-kasan-gce-root INFO: rcu detected stall in pwq_unbound_release_workfn
* Struck through repros no longer work on HEAD.