[v5.15] INFO: rcu detected stall in worker_thread

2 views
Skip to first unread message

syzbot

unread,
Sep 28, 2023, 6:32:56 PM9/28/23
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: b911329317b4 Linux 5.15.133
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=148b202a680000
kernel config: https://syzkaller.appspot.com/x/.config?x=a9c9f0083f439f72
dashboard link: https://syzkaller.appspot.com/bug?extid=42134f4725c4d005f115
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/46530025981a/disk-b9113293.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/d27830145a50/vmlinux-b9113293.xz
kernel image: https://storage.googleapis.com/syzbot-assets/ee1d0b88a1d9/bzImage-b9113293.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+42134f...@syzkaller.appspotmail.com

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 1-...!: (1 GPs behind) idle=aad/1/0x4000000000000000 softirq=62253/62254 fqs=0
(detected by 0, t=10506 jiffies, g=85457, q=87)
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 3594 Comm: kworker/1:8 Not tainted 5.15.133-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/06/2023
Workqueue: 0x0 (events)
RIP: 0010:test_bit include/asm-generic/bitops/instrumented-non-atomic.h:134 [inline]
RIP: 0010:__lock_acquire+0xcd0/0x1ff0 kernel/locking/lockdep.c:4981
Code: 3d 91 48 c1 e8 03 48 bf 00 00 00 00 00 fc ff df 0f b6 04 38 84 c0 0f 85 0e 0c 00 00 83 3d c7 70 da 0f 00 75 44 48 8b 6c 24 58 <8d> 45 3f 85 ed 0f 49 c5 c1 f8 06 48 98 48 8d 3c c5 00 81 bd 8f be
RSP: 0018:ffffc90000dd0a60 EFLAGS: 00000046
RAX: 0000000000000004 RBX: ffff888022e0a8b0 RCX: ffffffff913d0003
RDX: 0000000000000000 RSI: 0000000000000000 RDI: dffffc0000000000
RBP: 0000000000000029 R08: dffffc0000000000 R09: fffffbfff1f7b021
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000000
R13: ffff888022e0a8a8 R14: 1ffff110045c151a R15: ffff888022e0a8d0
FS: 0000000000000000(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000440 CR3: 0000000076bdb000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<NMI>
</NMI>
<IRQ>
lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5622
rcu_lock_acquire+0x2a/0x30 include/linux/rcupdate.h:269
rcu_read_lock include/linux/rcupdate.h:696 [inline]
advance_sched+0x6ce/0x940 net/sched/sch_taprio.c:769
__run_hrtimer kernel/time/hrtimer.c:1685 [inline]
__hrtimer_run_queues+0x598/0xcf0 kernel/time/hrtimer.c:1749
hrtimer_interrupt+0x392/0x980 kernel/time/hrtimer.c:1811
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline]
__sysvec_apic_timer_interrupt+0x139/0x470 arch/x86/kernel/apic/apic.c:1102
sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1096
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:finish_lock_switch+0x91/0x100 kernel/sched/core.c:4781
Code: 45 31 c9 68 27 61 59 81 e8 fc 1a 09 00 48 83 c4 08 4c 89 ff e8 b0 da fe ff 66 90 4c 89 ff e8 26 27 cc 08 e8 e1 38 2d 00 fb 5b <41> 5c 41 5d 41 5e 41 5f c3 44 89 f1 80 e1 07 80 c1 03 38 c1 7c 87
RSP: 0018:ffffc900030cfb38 EFLAGS: 00000286
RAX: 35115e8bf796e000 RBX: ffff888020ee1df4 RCX: ffffffff913d0003
RDX: dffffc0000000000 RSI: ffffffff8a8b0c60 RDI: ffffffff8ad87a00
RBP: ffffc900030cfbb0 R08: ffffffff81869a70 R09: ffffed10173672e1
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: 1ffff1101736748b R14: ffff8880b9b3a458 R15: ffff8880b9b39700
finish_task_switch+0x134/0x630 kernel/sched/core.c:4898
context_switch kernel/sched/core.c:5029 [inline]
__schedule+0x12cc/0x4590 kernel/sched/core.c:6372
schedule+0x11b/0x1f0 kernel/sched/core.c:6455
worker_thread+0xf56/0x1280 kernel/workqueue.c:2478
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
</TASK>
rcu: rcu_preempt kthread starved for 10506 jiffies! g85457 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0
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:26712 pid: 15 ppid: 2 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5026 [inline]
__schedule+0x12c4/0x4590 kernel/sched/core.c:6372
schedule+0x11b/0x1f0 kernel/sched/core.c:6455
schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1884
rcu_gp_fqs_loop+0x2af/0xf70 kernel/rcu/tree.c:1959
rcu_gp_kthread+0xa4/0x360 kernel/rcu/tree.c:2132
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
</TASK>
rcu: Stack dump where RCU GP kthread last ran:
NMI backtrace for cpu 0
CPU: 0 PID: 17976 Comm: syz-executor.3 Not tainted 5.15.133-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/06/2023
Call Trace:
<IRQ>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
nmi_cpu_backtrace+0x46a/0x4a0 lib/nmi_backtrace.c:111
nmi_trigger_cpumask_backtrace+0x181/0x2a0 lib/nmi_backtrace.c:62
trigger_single_cpu_backtrace include/linux/nmi.h:166 [inline]
rcu_check_gp_kthread_starvation+0x1d2/0x240 kernel/rcu/tree_stall.h:481
print_other_cpu_stall+0x137a/0x14d0 kernel/rcu/tree_stall.h:586
check_cpu_stall kernel/rcu/tree_stall.h:729 [inline]
rcu_pending kernel/rcu/tree.c:3911 [inline]
rcu_sched_clock_irq+0x94f/0x1770 kernel/rcu/tree.c:2606
update_process_times+0x196/0x200 kernel/time/timer.c:1788
tick_sched_handle kernel/time/tick-sched.c:254 [inline]
tick_sched_timer+0x386/0x550 kernel/time/tick-sched.c:1473
__run_hrtimer kernel/time/hrtimer.c:1685 [inline]
__hrtimer_run_queues+0x55b/0xcf0 kernel/time/hrtimer.c:1749
hrtimer_interrupt+0x392/0x980 kernel/time/hrtimer.c:1811
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline]
__sysvec_apic_timer_interrupt+0x139/0x470 arch/x86/kernel/apic/apic.c:1102
sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1096
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:csd_lock_wait kernel/smp.c:440 [inline]
RIP: 0010:smp_call_function_many_cond+0xa93/0xd90 kernel/smp.c:969
Code: 04 03 84 c0 0f 85 84 00 00 00 45 8b 7d 00 44 89 fe 83 e6 01 31 ff e8 7c c1 0b 00 41 83 e7 01 75 07 e8 11 be 0b 00 eb 41 f3 90 <48> b8 00 00 00 00 00 fc ff df 0f b6 04 03 84 c0 75 11 41 f7 45 00
RSP: 0018:ffffc90002e1f4a0 EFLAGS: 00000293
RAX: ffffffff81745f64 RBX: 1ffff11017367f31 RCX: ffff888020ee1dc0
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc90002e1f5e0 R08: ffffffff81745f34 R09: fffffbfff193c7e3
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000001
R13: ffff8880b9b3f988 R14: ffff8880b9a3a780 R15: 0000000000000001
on_each_cpu_cond_mask+0x3b/0x80 kernel/smp.c:1135
__flush_tlb_multi arch/x86/include/asm/paravirt.h:87 [inline]
flush_tlb_multi arch/x86/mm/tlb.c:900 [inline]
flush_tlb_mm_range+0x2a5/0x4a0 arch/x86/mm/tlb.c:986
tlb_flush arch/x86/include/asm/tlb.h:23 [inline]
tlb_flush_mmu_tlbonly+0x1ab/0x410 include/asm-generic/tlb.h:430
tlb_flush_mmu mm/mmu_gather.c:246 [inline]
tlb_finish_mmu+0xd2/0x320 mm/mmu_gather.c:338
exit_mmap+0x3cd/0x670 mm/mmap.c:3188
__mmput+0x112/0x3b0 kernel/fork.c:1126
exit_mm+0x688/0x7f0 kernel/exit.c:548
do_exit+0x626/0x2480 kernel/exit.c:859
do_group_exit+0x144/0x310 kernel/exit.c:994
get_signal+0xc66/0x14e0 kernel/signal.c:2889
arch_do_signal_or_restart+0xc3/0x1890 arch/x86/kernel/signal.c:867
handle_signal_work kernel/entry/common.c:148 [inline]
exit_to_user_mode_loop+0x97/0x130 kernel/entry/common.c:172
exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:208
__syscall_exit_to_user_mode_work kernel/entry/common.c:290 [inline]
syscall_exit_to_user_mode+0x5d/0x250 kernel/entry/common.c:301
do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86
entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7fd054595ae9
Code: Unable to access opcode bytes at RIP 0x7fd054595abf.
RSP: 002b:00007fd052b17178 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00007fd0546b4f88 RCX: 00007fd054595ae9
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007fd0546b4f88
RBP: 00007fd0546b4f80 R08: 00007fd052b176c0 R09: 00007fd052b176c0
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fd0546b4f8c
R13: 000000000000000b R14: 00007ffe4ed6fe20 R15: 00007ffe4ed6ff08
</TASK>


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the bug is already fixed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite bug's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the bug is a duplicate of another bug, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
Jan 9, 2024, 1:17:23 PMJan 9
to syzkaller...@googlegroups.com
Auto-closing this bug as obsolete.
Crashes did not happen for a while, no reproducer and no activity.
Reply all
Reply to author
Forward
0 new messages