Wind River Support Network

HomeDefectsLIN1019-2740
Not to be fixed

LIN1019-2740 : marvell-cn96xx: run kprobes_kprobe_dump_stack test hang board

Created: Sep 29, 2019    Updated: Apr 29, 2021
Resolved Date: Apr 29, 2021
Found In Version: 10.19.45.1
Severity: Standard
Applicable for: Wind River Linux LTS 19
Component/s: BSP

Description

We have fixed this issue have pushed it to kernel mainline.  Wait for stable and yocto kernel merge it from master branch.

Build:
$ ${yourProductPath}/setup.sh --machines=marvell-cn96xx --templates feature/docker --distro wrlinux --dl-layers
$ source oe-init-build-env
$ bitbake-layers add-layer ${yourLayerPath}/wr-testing/kts-dev
$ echo require templates/feature/wr-kts/template.conf >> conf/local.conf

Run case.
$ /opt/wr-test/main_test.py -s kprobes_kprobe_dump_stack


CPU: 18 PID: 3549 Comm: in:imklog Tainted: G O 5.2.17-yocto-standard #1
Hardware name: Marvell OcteonTX CN96XX board (DT)
current task on CPU#0: rcu_preempt (after scheduling), preempt_count = 1
Call trace:
current task on CPU#10: kworker/10:0 (before scheduling), preempt_count = 1
dump_backtrace+0x0/0x140
dump_stack start here
show_stack+0x24/0x30
dump_stack+0xb8/0xfc
handler_pre+0x70/0x80 [kprobe_dump_stack_exam]
kprobe_breakpoint_handler+0x148/0x1e0
call_break_hook+0x100/0x178
brk_handler+0x28/0x68
do_debug_exception+0x70/0x170
el1_dbg+0x18/0x8c
schedule+0x0/0xd8
futex_wait+0xf4/0x208
do_futex+0x1a4/0xcb0
__arm64_sys_futex+0x11c/0x160
el0_svc_handler+0xc4/0x1c8
el0_svc+0x8/0xc
dump_stack end here
CPU: 10 PID: 73 Comm: kworker/10:0 Tainted: G O 5.2.17-yocto-standard #1
Hardware name: Marvell OcteonTX CN96XX board (DT)
current task on CPU#18: in:imklog (after scheduling), preempt_count = 1
A fault happened during probing.
A fault happened during probing.
Workqueue: 0x0 (events)
Call trace:
dump_backtrace+0x0/0x140
show_stack+0x24/0x30
dump_stack+0xb8/0xfc
handler_pre+0x70/0x80 [kprobe_dump_stack_exam]
kprobe_breakpoint_handler+0x148/0x1e0
call_break_hook+0x100/0x178
current task on CPU#21: rcuc/21 (after scheduling), preempt_count = 1
current task on CPU#8: sh (before scheduling), preempt_count = 1
dump_stack start here
current task on CPU#11: sh (before scheduling), preempt_count = 1
dump_stack start here
current task on CPU#6: kworker/u48:1 (before scheduling), preempt_count = 1
dump_stack start here
current task on CPU#13: kworker/u49:2 (before scheduling), preempt_count = 1
dump_stack start here
current task on CPU#18: in:imklog (before scheduling), preempt_count = 1
dump_stack start here
current task on CPU#3: main_test.py (before scheduling), preempt_count = 1
current task on CPU#0: rcu_preempt (before scheduling), preempt_count = 1
dump_stack start here
brk_handler+0x28/0x68
current task on CPU#14: tcf-agent (before scheduling), preempt_count = 1
dump_stack start here
dump_stack start here
do_debug_exception+0x70/0x170
current task on CPU#7: dockerd (before scheduling), preempt_count = 1
dump_stack start here
current task on CPU#20: dockerd (before scheduling), preempt_count = 1
dump_stack start here
current task on CPU#21: dockerd (before scheduling), preempt_count = 1
dump_stack start here
current task on CPU#4: tcf-agent (before scheduling), preempt_count = 1
el1_dbg+0x18/0x8c
dump_stack start here
schedule+0x0/0xd8
current task on CPU#5: sshd (before scheduling), preempt_count = 1
kthread+0x108/0x138
dump_stack start here
ret_from_fork+0x10/0x1c
current task on CPU#19: containerd (before scheduling), preempt_count = 1
current task on CPU#2: containerd (before scheduling), preempt_count = 1
dump_stack start here
current task on CPU#12: kworker/12:1 (before scheduling), preempt_count = 1
current task on CPU#22: kworker/22:2 (before scheduling), preempt_count = 1
current task on CPU#15: kworker/15:2 (before scheduling), preempt_count = 1
dump_stack start here
dump_stack start here
dump_stack start here
dump_stack start here
current task on CPU#23: kworker/23:2 (before scheduling), preempt_count = 1
dump_stack start here
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 9-...!: (0 ticks this GP) idle=6c6/1/0x4000000000000002 softirq=22399/22399 fqs=4
(detected by 16, t=10737 jiffies, g=444221, q=1056)
Task dump for CPU 9:
rcuc/9 S 0 65 2 0x00000028
Call trace:
__switch_to+0x1a8/0x268
0x0
rcu: rcu_preempt kthread starved for 10729 jiffies! g444221 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=0
rcu: RCU grace-period kthread stack dump:
rcu_preempt I 0 10 2 0x00000028
Call trace:
__switch_to+0x1a8/0x268
0x0
current task on CPU#16: systemd-logind (before scheduling), preempt_count = 1
dump_stack start here
current task on CPU#17: systemd-resolve (before scheduling), preempt_count = 1
dump_stack start here

hang at here.

Steps to Reproduce

Build:
$ ${yourProductPath}/setup.sh --machines=marvell-cn96xx --templates feature/docker --distro wrlinux --dl-layers
$ source oe-init-build-env
$ bitbake-layers add-layer ${yourLayerPath}/wr-testing/kts-dev
$ echo require templates/feature/wr-kts/template.conf >> conf/local.conf

Run case.
$ /opt/wr-test/main_test.py -s kprobes_kprobe_dump_stack
Live chat
Online