2018-07-03 07:26:14

by kernel test robot

[permalink] [raw]
Subject: [lkp-robot] [rcu] 50b7ae6af5: BUG:spinlock_recursion_on_CPU


FYI, we noticed the following commit (built with gcc-7):

commit: 50b7ae6af5671168cc6cf2de959b02584e4c3f87 ("rcu: Diagnostics for grace-period hangs")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

in testcase: trinity
with following parameters:

runtime: 300s

test-description: Trinity is a linux system call fuzz tester.
test-url: http://codemonkey.org.uk/projects/trinity/


on test machine: qemu-system-x86_64 -m 420M

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):


+------------------------------------------------+------------+------------+
| | 8c42b1f39f | 50b7ae6af5 |
+------------------------------------------------+------------+------------+
| boot_successes | 0 | 0 |
| boot_failures | 28 | 28 |
| WARNING:at_mm/slab_common.c:#kmalloc_slab | 28 | 21 |
| EIP:kmalloc_slab | 28 | 21 |
| Mem-Info | 28 | 21 |
| IP-Config:Auto-configuration_of_network_failed | 24 | 14 |
| BUG:spinlock_recursion_on_CPU | 0 | 10 |
+------------------------------------------------+------------+------------+



[ 163.510428] BUG: spinlock recursion on CPU#0, rcu_torture_cbf/54
[ 163.511698] lock: rcu_sched_state+0x0/0x9a0, .magic: dead4ead, .owner: rcu_torture_cbf/54, .owner_cpu: 0
[ 163.512424] CPU: 0 PID: 54 Comm: rcu_torture_cbf Not tainted 4.18.0-rc1-00004-g50b7ae6 #156
[ 163.512424] Call Trace:
[ 163.512424] <SOFTIRQ>
[ 163.512424] dump_stack+0x58/0x76
[ 163.512424] spin_dump+0x64/0xb0
[ 163.512424] do_raw_spin_lock+0x7d/0xb0
[ 163.512424] _raw_spin_lock+0x45/0x60
[ 163.512424] rcu_process_callbacks+0x991/0xba0
[ 163.512424] ? irqtime_account_irq+0x6e/0x80
[ 163.512424] __do_softirq+0xa3/0x1ba
[ 163.512424] ? __irqentry_text_end+0x5/0x5
[ 163.512424] call_on_stack+0x40/0x50
[ 163.512424] </SOFTIRQ>
[ 163.512424] ? irq_exit+0xb5/0xc0
[ 163.512424] ? smp_apic_timer_interrupt+0x51/0x80
[ 163.512424] ? apic_timer_interrupt+0x39/0x40
[ 163.512424] ? _raw_spin_unlock_irqrestore+0x24/0x40
[ 163.512424] ? __debug_object_init+0xba/0x490
[ 163.512424] ? debug_object_activate+0x1ae/0x210
[ 163.512424] ? __call_rcu+0x2b/0x250
[ 163.512424] ? rcu_torture_boost_cb+0x10/0x10
[ 163.512424] ? call_rcu_sched+0xf/0x20
[ 163.512424] ? rcu_torture_cbflood+0xe4/0x1b0
[ 163.512424] ? kthread+0xed/0x100
[ 163.512424] ? rcu_torture_err_cb+0x20/0x20
[ 163.512424] ? kthread_create_worker_on_cpu+0x20/0x20
[ 163.512424] ? ret_from_fork+0x2e/0x40

Elapsed time: 190

#!/bin/bash

# To reproduce,
# 1) save job-script and this script (both are attached in 0day report email)
# 2) run this script with your compiled kernel and optional env $INSTALL_MOD_PATH

kernel=$1

initrds=(
/osimage/openwrt/openwrt-i386-2016-03-16.cgz
/lkp/lkp/lkp-i386.cgz
/osimage/pkg/debian-x86_64-2016-08-31.cgz/trinity-static-i386-x86_64-6ddabfd2_2017-11-10.cgz
)

HTTP_PREFIX=https://download.01.org/0day-ci/lkp-qemu
wget --timestamping "${initrds[@]/#/$HTTP_PREFIX}"

{
cat "${initrds[@]//*\//}"
[[ $INSTALL_MOD_PATH ]] && (
cd "$INSTALL_MOD_PATH"
find lib | cpio -o -H newc --quiet | gzip
)
echo job-script | cpio -o -H newc --quiet | gzip
} > initrd.img

kvm=(
qemu-system-x86_64
-kernel $kernel
-initrd initrd.img
-m 420
-smp 1
-device e1000,netdev=net0
-netdev user,id=net0
-boot order=nc
-no-reboot
-watchdog i6300esb
-watchdog-action debug
-rtc base=localtime
-serial stdio
-display none
-monitor null
)

append=(
ip=::::vm-lkp-os-openwrt-ia32-13::dhcp
root=/dev/ram0
user=lkp
job=/job-script
ARCH=i386
kconfig=i386-randconfig-i0-201825
branch=linux-devel/devel-spot-201806270834
commit=50b7ae6af5671168cc6cf2de959b02584e4c3f87
BOOT_IMAGE=/pkg/linux/i386-randconfig-i0-201825/gcc-7/50b7ae6af5671168cc6cf2de959b02584e4c3f87/vmlinuz-4.18.0-rc1-00004-g50b7ae6
max_uptime=1500
RESULT_ROOT=/result/trinity/300s/vm-lkp-os-openwrt-ia32/openwrt-i386-2016-03-16.cgz/i386-randconfig-i0-201825/gcc-7/50b7ae6af5671168cc6cf2de959b02584e4c3f87/3
result_service=tmpfs
debug
apic=debug
sysrq_always_enabled
rcupdate.rcu_cpu_stall_timeout=100
net.ifnames=0
printk.devkmsg=on
panic=-1
softlockup_panic=1
nmi_watchdog=panic
oops=panic
load_ramdisk=2
prompt_ramdisk=0


To reproduce:

git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email



Thanks,
Xiaolong


Attachments:
(No filename) (4.75 kB)
config-4.18.0-rc1-00004-g50b7ae6 (125.81 kB)
job-script (3.88 kB)
dmesg.xz (8.65 kB)
Download all attachments