syzbot


INFO: rcu detected stall in tcp_write_timer (2)

Status: auto-closed as invalid on 2021/05/03 11:59
Subsystems: bpf
[Documentation on labels]
First crash: 1458d, last: 1402d
Similar bugs (14)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: rcu detected stall in tcp_write_timer (4) net 1 143d 143d 0/28 auto-obsoleted due to no activity on 2024/10/13 08:46
linux-5.15 INFO: rcu detected stall in tcp_write_timer 4 53d 105d 0/3 upstream: reported on 2024/08/22 21:30
upstream INFO: rcu detected stall in tcp_write_timer net 3 1952d 1946d 0/28 auto-closed as invalid on 2019/10/25 14:11
upstream INFO: rcu detected stall in tcp_write_timer (3) net 1 1269d 1269d 0/28 auto-closed as invalid on 2021/09/13 13:17
linux-6.1 INFO: rcu detected stall in tcp_write_timer 13 9d17h 168d 0/3 upstream: reported on 2024/06/21 02:50
upstream BUG: soft lockup in tcp_write_timer (4) kasan mm 4 153d 177d 26/28 fixed on 2024/07/09 19:14
linux-4.14 INFO: rcu detected stall in tcp_write_timer 4 1554d 1796d 0/1 auto-closed as invalid on 2021/01/02 05:45
linux-4.19 INFO: rcu detected stall in tcp_write_timer 2 1683d 1737d 0/1 auto-closed as invalid on 2020/08/26 06:46
linux-4.19 BUG: soft lockup in tcp_write_timer (3) 2 706d 719d 0/1 upstream: reported on 2022/12/17 21:41
linux-4.19 BUG: soft lockup in tcp_write_timer (2) 2 1115d 1179d 0/1 auto-closed as invalid on 2022/03/16 10:56
linux-4.19 BUG: soft lockup in tcp_write_timer 1 1344d 1344d 0/1 auto-closed as invalid on 2021/07/30 14:52
upstream BUG: soft lockup in tcp_write_timer (2) kvm 1 955d 955d 0/28 auto-closed as invalid on 2022/06/24 22:31
upstream BUG: soft lockup in tcp_write_timer (3) net 6 332d 440d 0/28 closed as invalid on 2024/03/18 17:07
android-5-15 BUG: soft lockup in tcp_write_timer 11 116d 228d 0/2 auto-obsoleted due to no activity on 2024/11/10 05:27

Sample crash report:
rcu: INFO: rcu_preempt self-detected stall on CPU
rcu: 	1-...!: (10499 ticks this GP) idle=3fa/1/0x4000000000000000 softirq=36341/36341 fqs=2 
	(t=10501 jiffies g=39985 q=477)
rcu: rcu_preempt kthread starved for 10498 jiffies! g39985 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:29176 pid:   13 ppid:     2 flags:0x00004000
Call Trace:
 context_switch kernel/sched/core.c:4327 [inline]
 __schedule+0x90c/0x21a0 kernel/sched/core.c:5078
 schedule+0xcf/0x270 kernel/sched/core.c:5157
 schedule_timeout+0x148/0x250 kernel/time/timer.c:1878
 rcu_gp_fqs_loop kernel/rcu/tree.c:1940 [inline]
 rcu_gp_kthread+0xbbe/0x1d70 kernel/rcu/tree.c:2113
 kthread+0x3b1/0x4a0 kernel/kthread.c:292
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296
NMI backtrace for cpu 1
CPU: 1 PID: 15933 Comm: syz-executor.2 Not tainted 5.11.0-rc6-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:79 [inline]
 dump_stack+0x107/0x163 lib/dump_stack.c:120
 nmi_cpu_backtrace.cold+0x44/0xd7 lib/nmi_backtrace.c:105
 nmi_trigger_cpumask_backtrace+0x1b3/0x230 lib/nmi_backtrace.c:62
 trigger_single_cpu_backtrace include/linux/nmi.h:164 [inline]
 rcu_dump_cpu_stacks+0x1f4/0x230 kernel/rcu/tree_stall.h:337
 print_cpu_stall kernel/rcu/tree_stall.h:569 [inline]
 check_cpu_stall kernel/rcu/tree_stall.h:643 [inline]
 rcu_pending kernel/rcu/tree.c:3751 [inline]
 rcu_sched_clock_irq.cold+0x48e/0xedf kernel/rcu/tree.c:2580
 update_process_times+0x16d/0x200 kernel/time/timer.c:1782
 tick_sched_handle+0x9b/0x180 kernel/time/tick-sched.c:226
 tick_sched_timer+0x1b0/0x2d0 kernel/time/tick-sched.c:1369
 __run_hrtimer kernel/time/hrtimer.c:1519 [inline]
 __hrtimer_run_queues+0x1c0/0xe40 kernel/time/hrtimer.c:1583
 hrtimer_interrupt+0x334/0x940 kernel/time/hrtimer.c:1645
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline]
 __sysvec_apic_timer_interrupt+0x146/0x540 arch/x86/kernel/apic/apic.c:1102
 run_sysvec_on_irqstack_cond arch/x86/include/asm/irq_stack.h:91 [inline]
 sysvec_apic_timer_interrupt+0x48/0x100 arch/x86/kernel/apic/apic.c:1096
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:629
RIP: 0010:lock_is_held_type+0xe8/0x120 kernel/locking/lockdep.c:5486
Code: 03 44 39 f0 41 0f 94 c5 48 c7 c7 a0 aa 4b 89 e8 0e 0d 00 00 b8 ff ff ff ff 65 0f c1 05 21 20 08 77 83 f8 01 75 1b ff 34 24 9d <48> 83 c4 08 44 89 e8 5b 5d 41 5c 41 5d 41 5e 41 5f c3 45 31 ed eb
RSP: 0000:ffffc90000db0560 EFLAGS: 00000246
RAX: 0000000000000001 RBX: 0000000000000002 RCX: 0000000000000001
RDX: 0000000000000000 RSI: 0000000000000104 RDI: 0000000000000000
RBP: ffffffff8b373ce0 R08: 0000000000000000 R09: ffffffff8d038a8f
R10: fffffbfff1a07151 R11: 0000000000000001 R12: ffff888011af8000
R13: 0000000000000000 R14: 00000000ffffffff R15: ffff888011af89b0
 lock_is_held include/linux/lockdep.h:271 [inline]
 rcu_read_lock_sched_held+0x3a/0x70 kernel/rcu/update.c:123
 trace_lock_acquire include/trace/events/lock.h:13 [inline]
 lock_acquire+0x5d2/0x720 kernel/locking/lockdep.c:5413
 rcu_lock_acquire include/linux/rcupdate.h:259 [inline]
 rcu_read_lock include/linux/rcupdate.h:648 [inline]
 is_bpf_text_address+0x36/0x160 kernel/bpf/core.c:700
 kernel_text_address kernel/extable.c:151 [inline]
 kernel_text_address+0xbd/0xf0 kernel/extable.c:120
 __kernel_text_address+0x9/0x30 kernel/extable.c:105
 unwind_get_return_address arch/x86/kernel/unwind_orc.c:318 [inline]
 unwind_get_return_address+0x51/0x90 arch/x86/kernel/unwind_orc.c:313
 arch_stack_walk+0x93/0xe0 arch/x86/kernel/stacktrace.c:26
 stack_trace_save+0x8c/0xc0 kernel/stacktrace.c:121
 kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38
 kasan_set_track+0x1c/0x30 mm/kasan/common.c:46
 kasan_set_free_info+0x20/0x30 mm/kasan/generic.c:356
 ____kasan_slab_free+0xe1/0x110 mm/kasan/common.c:362
 kasan_slab_free include/linux/kasan.h:192 [inline]
 slab_free_hook mm/slub.c:1547 [inline]
 slab_free_freelist_hook+0x5d/0x150 mm/slub.c:1580
 slab_free mm/slub.c:3143 [inline]
 kmem_cache_free+0x82/0x350 mm/slub.c:3159
 kfree_skbmem+0x166/0x1b0 net/core/skbuff.c:657
 sk_wmem_free_skb include/net/sock.h:1552 [inline]
 tcp_rtx_queue_purge net/ipv4/tcp.c:2857 [inline]
 tcp_write_queue_purge+0x444/0x14a0 net/ipv4/tcp.c:2870
 tcp_write_err net/ipv4/tcp_timer.c:73 [inline]
 tcp_write_timeout net/ipv4/tcp_timer.c:276 [inline]
 tcp_retransmit_timer+0x21ba/0x33a0 net/ipv4/tcp_timer.c:512
 tcp_write_timer_handler+0x5bb/0xaf0 net/ipv4/tcp_timer.c:622
 tcp_write_timer+0xa2/0x2b0 net/ipv4/tcp_timer.c:642
 call_timer_fn+0x1a5/0x6b0 kernel/time/timer.c:1417
 expire_timers kernel/time/timer.c:1462 [inline]
 __run_timers.part.0+0x67c/0xa50 kernel/time/timer.c:1731
 __run_timers kernel/time/timer.c:1712 [inline]
 run_timer_softirq+0xb3/0x1d0 kernel/time/timer.c:1744
 __do_softirq+0x29b/0x9f6 kernel/softirq.c:343
 asm_call_irq_on_stack+0xf/0x20
 </IRQ>
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
 do_softirq_own_stack+0xaa/0xd0 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:226 [inline]
 __irq_exit_rcu kernel/softirq.c:420 [inline]
 irq_exit_rcu+0x134/0x200 kernel/softirq.c:432
 sysvec_apic_timer_interrupt+0x4d/0x100 arch/x86/kernel/apic/apic.c:1096
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:629
RIP: 0010:__raw_spin_unlock_irq include/linux/spinlock_api_smp.h:169 [inline]
RIP: 0010:_raw_spin_unlock_irq+0x25/0x40 kernel/locking/spinlock.c:199
Code: 0f 1f 44 00 00 55 48 8b 74 24 08 48 89 fd 48 83 c7 18 e8 1e 77 5c f8 48 89 ef e8 c6 2b 5d f8 e8 41 49 7c f8 fb bf 01 00 00 00 <e8> 06 33 51 f8 65 8b 05 ff aa 05 77 85 c0 74 02 5d c3 e8 6b 00 04
RSP: 0000:ffffc900017cfe20 EFLAGS: 00000202
RAX: 0000000000000c43 RBX: 0000000000000005 RCX: 1ffffffff1a06a11
RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000001
RBP: ffff8880b9f34c40 R08: 0000000000000001 R09: 0000000000000001
R10: ffffffff81788e28 R11: 0000000000000001 R12: ffff8880b9f34c40
R13: ffff888011af8000 R14: ffffffff8ae66168 R15: ffff888011af8000
 __schedule+0x18cf/0x21a0 kernel/sched/core.c:5084
 schedule+0xcf/0x270 kernel/sched/core.c:5157
 exit_to_user_mode_loop kernel/entry/common.c:162 [inline]
 exit_to_user_mode_prepare+0x115/0x250 kernel/entry/common.c:201
 irqentry_exit_to_user_mode+0x5/0x30 kernel/entry/common.c:315
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:629
RIP: 0033:0x465b09
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f591951d188 EFLAGS: 00000246
RAX: 0000000000000000 RBX: 000000000056bf60 RCX: 0000000000465b09
RDX: 0000000000042000 RSI: 0000000000000004 RDI: 0000000000000005
RBP: 00000000004b069f R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 000000000056bf60
R13: 00007ffffcae5caf R14: 00007f591951d300 R15: 0000000000022000

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/02/02 11:57 upstream 88bb507a74ea 19e09687 .config console log report info ci-upstream-kasan-gce-root INFO: rcu detected stall in tcp_write_timer
2020/12/09 01:56 upstream 7d8761ba27fc a7f7f4a4 .config console log report info ci-upstream-kasan-gce-root
* Struck through repros no longer work on HEAD.