Messages in this thread | | | Date | Tue, 12 Sep 2006 21:11:22 +0200 | From | "Michal Piotrowski" <> | Subject | Re: 2.6.18-rc6-mm2 |
| |
On 12/09/06, Andrew Morton <akpm@osdl.org> wrote: > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.18-rc6/2.6.18-rc6-mm2/ >
My FC6T2 bug appeared in -mm https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=202223
Any ideas about this?
echo shutdown > /sys/power/disk; echo disk > /sys/power/state
CPU 1 is now offline lockdep: not fixing up alternatives.
======================================================= [ INFO: possible circular locking dependency detected ] 2.6.18-rc6-mm2 #120 ------------------------------------------------------- bash/1961 is trying to acquire lock: ((cpu_chain).rwsem){----}, at: [<c012e289>] blocking_notifier_call_chain+0x11/0x2d
but task is already holding lock: (workqueue_mutex){--..}, at: [<c02f8156>] mutex_lock+0x1c/0x1f
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is: -> #1 (workqueue_mutex){--..}: [<c0138b97>] add_lock_to_list+0x5c/0x7a [<c013aca0>] __lock_acquire+0x9ec/0xae8 [<c013b0fc>] lock_acquire+0x6b/0x88 [<c02f7f1b>] __mutex_lock_slowpath+0xd6/0x2f5 [<c02f8156>] mutex_lock+0x1c/0x1f [<c01312de>] workqueue_cpu_callback+0x109/0x1ff [<c012de43>] notifier_call_chain+0x20/0x31 [<c012e295>] blocking_notifier_call_chain+0x1d/0x2d [<c013f867>] _cpu_down+0x48/0x207 [<c013fbf8>] disable_nonboot_cpus+0x98/0x12c [<c01451d6>] prepare_processes+0xe/0x41 [<c014539e>] pm_suspend_disk+0x9/0xe2 [<c0144635>] enter_state+0x53/0x177 [<c01447df>] state_store+0x86/0x9c [<c01abde4>] subsys_attr_store+0x20/0x25 [<c01abee3>] sysfs_write_file+0xa6/0xcc [<c0174d60>] vfs_write+0xcd/0x174 [<c01753fa>] sys_write+0x3b/0x71 [<c0103156>] sysenter_past_esp+0x5f/0x99 [<ffffffff>] 0xffffffff -> #0 ((cpu_chain).rwsem){----}: [<c013a280>] print_circular_bug_tail+0x2e/0x62 [<c013abd7>] __lock_acquire+0x923/0xae8 [<c013b0fc>] lock_acquire+0x6b/0x88 [<c0136e60>] down_read+0x28/0x3b [<c012e289>] blocking_notifier_call_chain+0x11/0x2d [<c013f98e>] _cpu_down+0x16f/0x207 [<c013fbf8>] disable_nonboot_cpus+0x98/0x12c [<c01451d6>] prepare_processes+0xe/0x41 [<c014539e>] pm_suspend_disk+0x9/0xe2 [<c0144635>] enter_state+0x53/0x177 [<c01447df>] state_store+0x86/0x9c [<c01abde4>] subsys_attr_store+0x20/0x25 [<c01abee3>] sysfs_write_file+0xa6/0xcc [<c0174d60>] vfs_write+0xcd/0x174 [<c01753fa>] sys_write+0x3b/0x71 [<c0103156>] sysenter_past_esp+0x5f/0x99 [<ffffffff>] 0xffffffff
other info that might help us debug this:
2 locks held by bash/1961: #0: (cpu_add_remove_lock){--..}, at: [<c02f8156>] mutex_lock+0x1c/0x1f #1: (workqueue_mutex){--..}, at: [<c02f8156>] mutex_lock+0x1c/0x1f
stack backtrace: [<c01041ba>] dump_trace+0x63/0x1ca [<c0104333>] show_trace_log_lvl+0x12/0x25 [<c0104993>] show_trace+0xd/0x10 [<c0104a58>] dump_stack+0x16/0x18 [<c013a2a9>] print_circular_bug_tail+0x57/0x62 [<c013abd7>] __lock_acquire+0x923/0xae8 [<c013b0fc>] lock_acquire+0x6b/0x88 [<c0136e60>] down_read+0x28/0x3b [<c012e289>] blocking_notifier_call_chain+0x11/0x2d [<c013f98e>] _cpu_down+0x16f/0x207 [<c013fbf8>] disable_nonboot_cpus+0x98/0x12c [<c01451d6>] prepare_processes+0xe/0x41 [<c014539e>] pm_suspend_disk+0x9/0xe2 [<c0144635>] enter_state+0x53/0x177 [<c01447df>] state_store+0x86/0x9c [<c01abde4>] subsys_attr_store+0x20/0x25 [<c01abee3>] sysfs_write_file+0xa6/0xcc [<c0174d60>] vfs_write+0xcd/0x174 [<c01753fa>] sys_write+0x3b/0x71 [<c0103156>] sysenter_past_esp+0x5f/0x99 DWARF2 unwinder stuck at sysenter_past_esp+0x5f/0x99
Leftover inexact backtrace:
l *blocking_notifier_call_chain+0x11/0x2d 0xc012e278 is in blocking_notifier_call_chain (/usr/src/linux-mm/kernel/sys.c:324). 319 * of the last notifier function called. 320 */ 321 322 int blocking_notifier_call_chain(struct blocking_notifier_head *nh, 323 unsigned long val, void *v) 324 { 325 int ret; 326 327 down_read(&nh->rwsem); 328 ret = notifier_call_chain(&nh->head, val, v);
l *mutex_lock+0x1c/0x1f 0xc02f813a is in mutex_lock (/usr/src/linux-mm/kernel/mutex.c:85). 80 * deadlock debugging. ) 81 * 82 * This function is similar to (but not equivalent to) down(). 83 */ 84 void inline fastcall __sched mutex_lock(struct mutex *lock) 85 { 86 might_sleep(); 87 /* 88 * The locking fastpath is the 1->0 transition from 89 * 'unlocked' into 'locked' state.
http://www.stardust.webpages.pl/files/mm/2.6.18-rc6-mm2/mm-dmesg2 http://www.stardust.webpages.pl/files/mm/2.6.18-rc6-mm2/mm-config1
Regards, Michal
-- Michal K. K. Piotrowski LTG - Linux Testers Group (http://www.stardust.webpages.pl/ltg/) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |