[<prev] [next>] [day] [month] [year] [list]
Message-ID: <51310270.8060002@mpi-sws.org>
Date: Fri, 01 Mar 2013 20:33:04 +0100
From: Pedro Fonseca <pfonseca@...-sws.org>
To: linux-kernel@...r.kernel.org
Subject: PROBLEM: Possible recursive locking on "tick_periodic()" and "do_timer()"
because of "xtime_lock" in 3.7.9
Hi,
Bellow you'll find a bug report for a possible bug involving recursive
locking.
Thanks,
Pedro
----
[1.] One line summary of the problem:
Possible recursive locking on "tick_periodic()" and "do_timer()" because
of "xtime_lock" in 3.7.9
[2.] Full description of the problem/report:
See [5] for the recursive locking error message.
[3.] Keywords (i.e., modules, networking, kernel):
Recursive locking, deadlock, timers
[4.] Kernel version (from /proc/version):
Linux version 3.7.9 (root@xxx) (gcc version 4.4.5 (Debian 4.4.5-8) )
[5.] Output of Oops.. message (if applicable) with symbolic information
resolved (see Documentation/oops-tracing.txt)
[ 239.964148]
[ 239.964148] =============================================
[ 239.964148] [ INFO: possible recursive locking detected ]
[ 239.964148] 3.7.9 #2 Not tainted
[ 239.964148] ---------------------------------------------
[ 239.964148] rt_sigaction01/2203 is trying to acquire lock:
[ 239.964148] (xtime_lock){-.-...}, at: [<c1074382>]
tick_periodic+0x32/0x70
[ 239.964148]
[ 239.964148] but task is already holding lock:
[ 239.964148] (xtime_lock){-.-...}, at: [<c1074382>]
tick_periodic+0x32/0x70
[ 239.964148]
[ 239.964148] other info that might help us debug this:
[ 239.964148] Possible unsafe locking scenario:
[ 239.964148]
[ 239.964148] CPU0
[ 239.964148] ----
[ 239.964148] lock(xtime_lock);
[ 239.964148] lock(xtime_lock);
[ 239.964148]
[ 239.964148] *** DEADLOCK ***
[ 239.964148]
[ 239.964148] May be due to missing lock nesting notation
[ 239.964148]
[ 239.964148] 2 locks held by rt_sigaction01/2203:
[ 239.964148] #0: (xtime_lock){-.-...}, at: [<c1074382>]
tick_periodic+0x32/0x70
[ 239.964148] #1: (&(&(&tk->lock)->lock)->rlock){-.-...}, at:
[<c106e981>] do_timer+0x31/0x9c0
[ 239.964148]
[ 239.964148] stack backtrace:
[ 239.964148] Pid: 2203, comm: rt_sigaction01 Not tainted 3.7.9 #2
[ 239.964148] Call Trace:
[ 239.964148] [<c107916a>] __lock_acquire+0x5ba/0x1400
[ 239.964148] [<c107a014>] lock_acquire+0x64/0x80
[ 239.964148] [<c1074382>] ? tick_periodic+0x32/0x70
[ 239.964148] [<c171b9e3>] _raw_spin_lock+0x33/0x40
[ 239.964148] [<c1074382>] ? tick_periodic+0x32/0x70
[ 239.964148] [<c1074382>] tick_periodic+0x32/0x70
[ 239.964148] [<c10743d9>] tick_handle_periodic+0x19/0x80
[ 239.964148] [<c10214cf>] smp_apic_timer_interrupt+0x4f/0x90
[ 239.964148] [<c1275594>] ? trace_hardirqs_off_thunk+0xc/0x18
[ 239.964148] [<c171c6ae>] apic_timer_interrupt+0x32/0x38
[ 239.964148] [<c106ef33>] ? do_timer+0x5e3/0x9c0
[ 239.964148] [<c10743aa>] tick_periodic+0x5a/0x70
[ 239.964148] [<c10743d9>] tick_handle_periodic+0x19/0x80
[ 239.964148] [<c10214cf>] smp_apic_timer_interrupt+0x4f/0x90
[ 239.964148] [<c1275594>] ? trace_hardirqs_off_thunk+0xc/0x18
[ 239.964148] [<c171c6ae>] apic_timer_interrupt+0x32/0x38
[6.] A small shell script or example program which triggers the problem
(if possible)
N/A
[7.] Environment
Running inside a (modified) QEMU virtual machine based on version 1.0.1.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists