ARM: nommu: DEBUG_LOCKS_WARN_ON(!depth)
Axel Lin
axel.lin at ingics.com
Sun Nov 24 22:20:29 EST 2013
I'm testing on a nommu platform (arm7tdmi SoC).
Using current Linus' tree + out-of-tree patches for this SoC.
I got below hang while executing ls (busybox) after boot.
/ # ls
[ 51.036191] ------------[ cut here ]------------
[ 51.042242] WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3312 lock_set_class+0x5c8/0x660()
[ 51.051426] DEBUG_LOCKS_WARN_ON(!depth)
[ 51.055842] CPU: 0 PID: 1 Comm: Not tainted 3.13.0-rc1-00100-g4b061f7-dirty #1917
[ 51.065415] [<0000c430>] (unwind_backtrace+0x0/0xe0) from [<0000ae58>] (show_stack+0x10/0x14)
[ 51.075781] [<0000ae58>] (show_stack+0x10/0x14) from [<0000f7b0>] (warn_slowpath_common+0x58/0x78)
[ 51.086549] [<0000f7b0>] (warn_slowpath_common+0x58/0x78) from [<0000f814>] (warn_slowpath_fmt+0x2c/0x3c)
[ 51.098162] [<0000f814>] (warn_slowpath_fmt+0x2c/0x3c) from [<00036d9c>] (lock_set_class+0x5c8/0x660)
[ 50.934805] [<00036d9c>] (lock_set_class+0x5c8/0x660) from [<000367d4>] (lock_set_class+0x0/0x660)
[ 50.945255] [<000367d4>] (lock_set_class+0x0/0x660) from [<00000000>] ( (null))
[ 50.953242] ---[ end trace 7d1e4eb800000001 ]---
BTW, I also hit below hangup once a few days ago (just before 3.13-rc1 release).
below is my timers config:
#
# Timers subsystem
#
CONFIG_HZ_PERIODIC=y
# CONFIG_NO_HZ_IDLE is not set
# CONFIG_NO_HZ is not set
# CONFIG_HIGH_RES_TIMERS is not set
/ # ls /bin
[ 81.272231] BUG: scheduling while atomic: ls/33/0x0037a001
[ 81.284450] 2 locks held by ls/33:
[ 81.292221] #0: [ 81.292221] #0: ( (&type->i_mutex_dir_key&type->i_mutex_dir_key){+.+.+.}){+.+.+.}[ 81.304370] BUG: recent printk recursion!
[ 81.304370] BUG: recent printk recursion!
, at: , at: [<0006c9c8>] lookup_slow+0x30/0xa0
[<0006c9c8>] lookup_slow+0x30/0xa0
[ 81.323810] #1: [ 81.323810] #1: ( (&sb->s_type->i_lock_key&sb->s_type->i_lock_key#13#13){+.+...}){+.+...}, at: , at: [<000764cc>] d_instantia8
[<000764cc>] d_instantiate+0x28/0x48
[ 81.345069] irq event stamp: 3753
[ 81.352717] hardirqs last enabled at (3753): [ 81.352717] hardirqs last enabled at (3753): [<002943dc>] _raw_spin_unlock_irqrestore+0x3c/0x5c
[<002943dc>] _raw_spin_unlock_irqrestore+0x3c/0x5c
[ 81.372183] hardirqs last disabled at (3752): [ 81.372183] hardirqs last disabled at (3752): [<00294254>] _raw_spin_lock_irqsave+0x1c/0x68
[<00294254>] _raw_spin_lock_irqsave+0x1c/0x68
[ 81.216282] softirqs last enabled at (3712): [ 81.216282] softirqs last enabled at (3712): [<000127ec>] __do_softirq+0x190/0x20c
[<000127ec>] __do_softirq+0x190/0x20c
[ 81.233554] softirqs last disabled at (3705): [ 81.233554] softirqs last disabled at (3705): [<00012c1c>] irq_exit+0x90/0xb8
[<00012c1c>] irq_exit+0x90/0xb8
[ 81.250354] CPU: 0 PID: 0 Comm: ���z Tainted: G W 3.12.0-11171-g6adc047-dirty #1911
[ 81.270570] [<0000c430>] (unwind_backtrace+0x0/0xe0) from [<0000ae58>] (show_stack+0x10/0x14)
[ 81.290277] [<0000ae58>] (show_stack+0x10/0x14) from [<0028dd8c>] (__schedule_bug+0x5c/0x74)
[ 81.309935] [<0028dd8c>] (__schedule_bug+0x5c/0x74) from [<00290c00>] (__schedule+0x58/0x38c)
[ 81.329818] [<00290c00>] (__schedule+0x58/0x38c) from [<002908f4>] (do_nanosleep+0x78/0xd0)
[ 81.349258] [<002908f4>] (do_nanosleep+0x78/0xd0) from [<00029418>] (hrtimer_nanosleep+0x88/0x10c)
[ 81.369874] [<00029418>] (hrtimer_nanosleep+0x88/0x10c) from [<00025680>] (common_nsleep+0x0/0x20)
Thanks for any comments and advices.
Regards,
Axel
More information about the linux-arm-kernel
mailing list