lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 8 Jul 2014 11:45:21 +0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	Thomas Gleixner <tglx@...utronix.de>
Cc:	LKML <linux-kernel@...r.kernel.org>, Jet Chen <jet.chen@...el.com>,
	Su Tao <tao.su@...el.com>, Yuanhan Liu <yuanhan.liu@...el.com>,
	LKP <lkp@...org>
Subject: [timer] BUG: soft lockup - CPU#1 stuck for 23s! [swapper/0:1]

Greetings,

0day kernel testing robot got the below dmesg and the first bad commit is

git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit 1ead65812486cda65093683a99b8907a7242fa93
Merge: b6d739e b97f029
Author:     Linus Torvalds <torvalds@...ux-foundation.org>
AuthorDate: Tue Apr 1 11:00:07 2014 -0700
Commit:     Linus Torvalds <torvalds@...ux-foundation.org>
CommitDate: Tue Apr 1 11:00:07 2014 -0700

    Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
    Pull timer changes from Thomas Gleixner:
     "This assorted collection provides:
    
       - A new timer based timer broadcast feature for systems which do not
         provide a global accessible timer device.  That allows those
         systems to put CPUs into deep idle states where the per cpu timer
         device stops.
    
       - A few NOHZ_FULL related improvements to the timer wheel
    
       - The usual updates to timer devices found in ARM SoCs
    
       - Small improvements and updates all over the place"
    
    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
      tick: Remove code duplication in tick_handle_periodic()
      tick: Fix spelling mistake in tick_handle_periodic()
      x86: hpet: Use proper destructor for delayed work
      workqueue: Provide destroy_delayed_work_on_stack()
      clocksource: CMT, MTU2, TMU and STI should depend on GENERIC_CLOCKEVENTS
      timer: Remove code redundancy while calling get_nohz_timer_target()
      hrtimer: Rearrange comments in the order struct members are declared
      timer: Use variable head instead of &work_list in __run_timers()
      clocksource: exynos_mct: silence a static checker warning
      arm: zynq: Add support for cpufreq
      arm: zynq: Don't use arm_global_timer with cpufreq
      clocksource/cadence_ttc: Overhaul clocksource frequency adjustment
      clocksource/cadence_ttc: Call clockevents_update_freq() with IRQs enabled
      clocksource: Add Kconfig entries for CMT, MTU2, TMU and STI
      sh: Remove Kconfig entries for TMU, CMT and MTU2
      ARM: shmobile: Remove CMT, TMU and STI Kconfig entries
      clocksource: armada-370-xp: Use atomic access for shared registers
      clocksource: orion: Use atomic access for shared registers
      clocksource: timer-keystone: Delete unnecessary variable
      clocksource: timer-keystone: introduce clocksource driver for Keystone
      ...

+------------------------------------------------+------------+------------+------------+---------------+
|                                                | b6d739e958 | b97f0291a2 | 1ead658124 | next-20140707 |
+------------------------------------------------+------------+------------+------------+---------------+
| boot_successes                                 | 900        | 900        | 153        | 3             |
| boot_failures                                  | 0          | 0          | 147        | 8             |
| BUG:soft_lockup-CPU_stuck_for_s                | 0          | 0          | 147        |               |
| EIP_is_at_get_node_info                        | 0          | 0          | 47         | 3             |
| Kernel_panic-not_syncing:softlockup:hung_tasks | 0          | 0          | 147        | 8             |
| backtrace:gcov_enable_events                   | 0          | 0          | 129        | 6             |
| backtrace:gcov_fs_init                         | 0          | 0          | 129        | 6             |
| backtrace:kernel_init_freeable                 | 0          | 0          | 130        | 6             |
| EIP_is_at_arch_local_irq_restore               | 0          | 0          | 32         |               |
| EIP_is_at_arch_local_irq_enable                | 0          | 0          | 17         | 2             |
| EIP_is_at_gcov_info_filename                   | 0          | 0          | 23         |               |
| EIP_is_at_lock_release                         | 0          | 0          | 1          |               |
| EIP_is_at_strcmp                               | 0          | 0          | 20         | 2             |
| EIP_is_at_kmalloc_slab                         | 0          | 0          | 1          |               |
| EIP_is_at_string                               | 0          | 0          | 1          |               |
| EIP_is_at_debugfs_mknod                        | 0          | 0          | 1          |               |
| EIP_is_at__create_file                         | 0          | 0          | 1          |               |
| EIP_is_at_generic_permission                   | 0          | 0          | 1          |               |
| EIP_is_at__kmalloc_track_caller                | 0          | 0          | 1          |               |
| backtrace:sysfs_slab_add                       | 0          | 0          | 1          |               |
| backtrace:slab_sysfs_init                      | 0          | 0          | 1          |               |
| EIP_is_at_arch_local_save_flags                | 0          | 0          | 1          |               |
| EIP_is_at_lock_acquire                         | 0          | 0          | 0          | 1             |
+------------------------------------------------+------------+------------+------------+---------------+

[   20.765075] futex hash table entries: 16 (order: -2, 1024 bytes)
[   20.791388] Initialise system trusted keyring
[   20.791388] Initialise system trusted keyring
[   49.443855] BUG: soft lockup - CPU#1 stuck for 23s! [swapper/0:1]
[   49.443855] BUG: soft lockup - CPU#1 stuck for 23s! [swapper/0:1]
[   49.443855] irq event stamp: 966764
[   49.443855] irq event stamp: 966764
[   49.443855] hardirqs last  enabled at (966763): 
[   49.443855] hardirqs last  enabled at (966763): [<41ce9b6f>] restore_all_notrace+0x0/0x18
[<41ce9b6f>] restore_all_notrace+0x0/0x18
[   49.443855] hardirqs last disabled at (966764): 
[   49.443855] hardirqs last disabled at (966764): [<41ce9e9f>] apic_timer_interrupt+0x2f/0x3c
[<41ce9e9f>] apic_timer_interrupt+0x2f/0x3c
[   49.443855] softirqs last  enabled at (966762): 
[   49.443855] softirqs last  enabled at (966762): [<4107286d>] __do_softirq+0x33a/0x3ec
[<4107286d>] __do_softirq+0x33a/0x3ec
[   49.443855] softirqs last disabled at (966757): 
[   49.443855] softirqs last disabled at (966757): [<4100715f>] call_on_stack+0x1b/0x2f
[<4100715f>] call_on_stack+0x1b/0x2f
[   49.443855] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.14.0-00677-g1ead658 #1
[   49.443855] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.14.0-00677-g1ead658 #1
[   49.443855] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
[   49.443855] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
[   49.443855] task: 53098000 ti: 530a0000 task.ti: 530a0000
[   49.443855] task: 53098000 ti: 530a0000 task.ti: 530a0000
[   49.443855] EIP: 0060:[<4111ec65>] EFLAGS: 00000202 CPU: 1
[   49.443855] EIP: 0060:[<4111ec65>] EFLAGS: 00000202 CPU: 1
[   49.443855] EIP is at get_node_info+0xe/0x31
[   49.443855] EIP is at get_node_info+0xe/0x31
[   49.443855] EAX: 424ff20c EBX: 522d61e0 ECX: 00000006 EDX: 4227b069
[   49.443855] EAX: 424ff20c EBX: 522d61e0 ECX: 00000006 EDX: 4227b069
[   49.443855] ESI: 4227b069 EDI: 423e4cd4 EBP: 530a1edc ESP: 530a1edc
[   49.443855] ESI: 4227b069 EDI: 423e4cd4 EBP: 530a1edc ESP: 530a1edc
[   49.443855]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[   49.443855]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[   49.443855] CR0: 8005003b CR2: 00000000 CR3: 0289b000 CR4: 000006b0
[   49.443855] CR0: 8005003b CR2: 00000000 CR3: 0289b000 CR4: 000006b0
[   49.443855] Stack:
[   49.443855] Stack:
[   49.443855]  530a1eec
[   49.443855]  530a1eec 4111ecd7 4111ecd7 423e4cd4 423e4cd4 00000000 00000000 530a1f10 530a1f10 4111fc7d 4111fc7d 5297caa8 5297caa8 523d5ee0 523d5ee0

git bisect start v3.15 v3.14 --
git bisect  bad 674366e90e5a2430e3ddef40ce51512d681944e4  # 04:55      1-      2  Merge tag 'pci-v3.15-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
git bisect  bad 9f800363bb0ea459e15bef0928a72c88d374e489  # 05:02      4-      6  Merge tag 'fixes-non-critical-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
git bisect  bad 1aabc5990d205cdb0789a1c26143c53601e9bb07  # 05:10      0-      1  x86: Fix dumpstack_64 to keep state of "used" variable in loop
git bisect good 1694f0bb8f04837f5232f35051f40eefc4ad5402  # 05:24     40+      1  Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect  bad 0c8cfbade0e9bef5637907ed00c7b81bc86ad359  # 05:33     30-      3  Merge git://www.linux-watchdog.org/linux-watchdog
git bisect  bad 1ead65812486cda65093683a99b8907a7242fa93  # 05:42      3-      4  Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good a21e40877ad130de837b0394583e4f68dc2ab6c5  # 06:04    300+      0  Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 99f7b025bfadd7fac5216dcfb2a08312804674c0  # 06:36    300+      0  Merge branch 'x86-threadinfo-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good b6d739e9581272f0bbbd6edd15340fb8e108df96  # 06:51    300+      0  Merge branch 'x86-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good 9affbd2458eca452e63b108e1a6258cf370f6eb9  # 07:19    300+      0  ARM: u300: move timer driver to clocksource
git bisect good b3e90722f6f53fa457a88146a877e34ea71d25ea  # 07:45    300+      0  clocksource/cadence_ttc: Overhaul clocksource frequency adjustment
git bisect good 6201b4d61fbf194df6371fb3376c5026cb8f5eec  # 08:01    300+      0  timer: Remove code redundancy while calling get_nohz_timer_target()
git bisect good b712c8dae05931a76b6c17a4254f403798e6caef  # 08:09    300+      0  x86: hpet: Use proper destructor for delayed work
git bisect good b97f0291a2504291aef850077f98cab68a5a2f33  # 08:23    300+      0  tick: Remove code duplication in tick_handle_periodic()
# first bad commit: [1ead65812486cda65093683a99b8907a7242fa93] Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good b6d739e9581272f0bbbd6edd15340fb8e108df96  # 08:33    900+      0  Merge branch 'x86-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good b97f0291a2504291aef850077f98cab68a5a2f33  # 08:37    900+      0  tick: Remove code duplication in tick_handle_periodic()
git bisect  bad d584f2acf5cc6c4a14c330930222d8e70fe024a6  # 08:37      0-      8  Add linux-next specific files for 20140707
git bisect good 448bfad8a185876ce8de484a921d49769972cad7  # 09:16    900+      0  Merge branch 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
git bisect  bad d584f2acf5cc6c4a14c330930222d8e70fe024a6  # 09:16      0-      8  Add linux-next specific files for 20140707


This script may reproduce the error.

-----------------------------------------------------------------------------
#!/bin/bash

kernel=$1
initrd=yocto-minimal-i386.cgz

wget --no-clobber https://github.com/fengguang/reproduce-kernel-bug/blob/master/initrd/$initrd

kvm=(
	qemu-system-x86_64 -cpu kvm64 -enable-kvm 
	-kernel $kernel
	-initrd $initrd
	-smp 2
	-m 256M
	-net nic,vlan=0,macaddr=00:00:00:00:00:00,model=virtio
	-net user,vlan=0
	-net nic,vlan=1,model=e1000
	-net user,vlan=1
	-boot order=nc
	-no-reboot
	-watchdog i6300esb
	-serial stdio
	-display none
	-monitor null
)

append=(
	debug
	sched_debug
	apic=debug
	ignore_loglevel
	sysrq_always_enabled
	panic=10
	prompt_ramdisk=0
	earlyprintk=ttyS0,115200
	console=ttyS0,115200
	console=tty0
	vga=normal
	root=/dev/ram0
	rw
)

"${kvm[@]}" --append "${append[*]}"
-----------------------------------------------------------------------------

Thanks,
Fengguang

View attachment "dmesg-yocto-ivb44-121:20140708054746:i386-randconfig-ib1-07080328::" of type "text/plain" (72784 bytes)

Download attachment "i386-randconfig-ib1-07080328-d584f2acf5cc6c4a14c330930222d8e70fe024a6-EIP-is-at-get_node_info+-x-73543.log" of type "application/octet-stream" (47828 bytes)

View attachment "config-3.14.0-00677-g1ead658" of type "text/plain" (77112 bytes)

_______________________________________________
LKP mailing list
LKP@...ux.intel.com

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ