An infinite loop occurs in flow_cache_lookup() due to the fcp's last hash_table hlist node pointing to the 1st node
Issue
- The kernel-rt crashes due to a blocked task
[626981.608136] INFO: task ksoftirqd/32:323 blocked for more than 600 seconds.
[626981.615103] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[626981.623571] ksoftirqd/32 D ffff8e64189657c0 0 323 2 0x00000080
[626981.630745] Call Trace:
[626981.633289] [<ffffffffa0180320>] schedule+0x30/0x96
[626981.638341] [<ffffffffa0181075>] rt_spin_lock_slowlock_locked+0xf5/0x2d0
[626981.645215] [<ffffffffa01812a7>] rt_spin_lock_slowlock+0x57/0x90
[626981.651401] [<ffffffffa0182cb5>] rt_spin_lock+0x25/0x30
[626981.656803] [<ffffffff9fa95864>] do_current_softirqs+0x134/0x410
[626981.662980] [<ffffffff9fa95c00>] run_ksoftirqd+0x30/0x50
[626981.668467] [<ffffffff9fac297f>] smpboot_thread_fn+0x20f/0x2e0
[626981.674473] [<ffffffff9fac2770>] ? lg_local_unlock+0x20/0x20
[626981.680305] [<ffffffff9fab9421>] kthread+0xd1/0xe0
[626981.685270] [<ffffffff9fab9350>] ? kthread_worker_fn+0x170/0x170
[626981.691450] [<ffffffffa018d077>] ret_from_fork_nospec_begin+0x21/0x21
[626981.698062] [<ffffffff9fab9350>] ? kthread_worker_fn+0x170/0x170
...
[626981.705552] Kernel panic - not syncing: hung_task: blocked tasks
[626981.705555] CPU: 1 PID: 484 Comm: khungtaskd Kdump: loaded Tainted: G OE ------------ T 3.10.0-1160.76.1.rt56.1220.el7.x86_64 #1
...
[626981.705557] Call Trace:
[626981.705561] [<ffffffffa017ab2d>] dump_stack+0x19/0x1b
[626981.705567] [<ffffffffa0174e13>] panic+0xe8/0x21f
[626981.705571] [<ffffffff9fb44c60>] watchdog+0x2b0/0x330
[626981.705575] [<ffffffff9fb449b0>] ? reset_hung_task_detector+0x20/0x20
[626981.705578] [<ffffffff9fab9421>] kthread+0xd1/0xe0
[626981.705582] [<ffffffff9fab9350>] ? kthread_worker_fn+0x170/0x170
[626981.705584] [<ffffffffa018d077>] ret_from_fork_nospec_begin+0x21/0x21
[626981.705587] [<ffffffff9fab9350>] ? kthread_worker_fn+0x170/0x170
- The blocked task is in a long-term TASK_UNINTERRUPTIBLE state waiting to acquire local_irq_lock
- The lock owner is calling flow_cache_lookup() and looping indefinitely.
PID: 254135 TASK: ffff8e640242d6e0 CPU: 32 COMMAND: "task_name"
#0 [ffff8e721ce09e40] crash_nmi_callback at ffffffff9fa48577
#1 [ffff8e721ce09e50] nmi_handle at ffffffffa0185904
#2 [ffff8e721ce09ea8] do_nmi at ffffffffa0185c00
#3 [ffff8e721ce09ef0] end_repeat_nmi at ffffffffa0184d4c
[exception RIP: flow_cache_lookup+784]
RIP: ffffffffa0068900 RSP: ffff8e630f1d7280 RFLAGS: 00000246
RAX: ffff8e630f1d7418 RBX: ffff8e631e340120 RCX: 00000000000017c0
RDX: ffff8e631f8fad20 RSI: 0000000000000400 RDI: ffff8e630f1d7470
RBP: ffff8e630f1d72e0 R8: ffffd7a273a0bd18 R9: 0000000000000001
R10: 0000000000000068 R11: 0011000000000000 R12: 0000000000000001
R13: 000000000000000a R14: 000000000000000a R15: ffff8e6f8d159740
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
--- <NMI exception stack> ---
#4 [ffff8e630f1d7280] flow_cache_lookup at ffffffffa0068900
#5 [ffff8e630f1d7298] __ip6_dst_alloc at ffffffffa0122901
#6 [ffff8e630f1d72e8] xfrm_lookup at ffffffffa00fbca7
#7 [ffff8e630f1d7358] xfrm_lookup_route at ffffffffa00fc1bf
#8 [ffff8e630f1d7380] ip6_dst_lookup_flow at ffffffffa01127e6
#9 [ffff8e630f1d73c0] tcp_v6_send_response at ffffffffa0140196
#10 [ffff8e630f1d74a8] tcp_v6_send_reset at ffffffffa0141f35
#11 [ffff8e630f1d7530] tcp_v6_rcv at ffffffffa0143500
#12 [ffff8e630f1d75e0] ip6_input_finish at ffffffffa01166af
#13 [ffff8e630f1d7620] ip6_input at ffffffffa0116fda
#14 [ffff8e630f1d7680] ip6_rcv_finish at ffffffffa01164ae
#15 [ffff8e630f1d7698] ipv6_rcv at ffffffffa0116d8a
#16 [ffff8e630f1d7720] __netif_receive_skb_core at ffffffffa0049549
#17 [ffff8e630f1d7798] __netif_receive_skb at ffffffffa0049868
#18 [ffff8e630f1d77b8] process_backlog at ffffffffa004aab0
#19 [ffff8e630f1d7810] net_rx_action at ffffffffa004a0a3
#20 [ffff8e630f1d78f0] do_current_softirqs at ffffffff9fa95912
#21 [ffff8e630f1d7978] __local_bh_enable at ffffffff9fa95bb4
#22 [ffff8e630f1d7988] ip6_finish_output2 at ffffffffa011359c
#23 [ffff8e630f1d7a20] ip6_finish_output at ffffffffa0115c3c
#24 [ffff8e630f1d7a48] ip6_output at ffffffffa0115cf7
#25 [ffff8e630f1d7ab0] ip6_xmit at ffffffffa0112e46
#26 [ffff8e630f1d7b68] inet6_csk_xmit at ffffffffa01487c5
#27 [ffff8e630f1d7c08] tcp_transmit_skb at ffffffffa00b5574
#28 [ffff8e630f1d7c78] tcp_connect at ffffffffa00b722d
#29 [ffff8e630f1d7d08] tcp_v6_connect at ffffffffa01415ae
#30 [ffff8e630f1d7dd8] __inet_stream_connect at ffffffffa00d4493
#31 [ffff8e630f1d7e50] inet_stream_connect at ffffffffa00d4758
#32 [ffff8e630f1d7e80] SYSC_connect at ffffffffa002898d
#33 [ffff8e630f1d7f40] sys_connect at ffffffffa002a5de
#34 [ffff8e630f1d7f50] tracesys at ffffffffa018d4a8 (via system_call)
RIP: 00007ffff77c1a3d RSP: 00007ffffffe9a10 RFLAGS: 00000293
RAX: ffffffffffffffda RBX: 0000000000004e20 RCX: ffffffffffffffff
RDX: 000000000000001c RSI: 00007ffffffe9bd0 RDI: 0000000000000021
RBP: 00007ffffffe9b70 R8: 00007ffffffe9bd0 R9: 0000000000004e21
R10: 00007ffff6415900 R11: 0000000000000293 R12: 00000000006efdfa
R13: 0000000000000000 R14: 00000000010ff7c0 R15: 00007ffffffec5a0
ORIG_RAX: 000000000000002a CS: 0033 SS: 002b
Environment
- Red Hat Enterprise Linux for Real Time - kernel-rt-3.10.0-1160.76.1.rt56.1220.el7.x86_64
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.