Bug#642235: linux-2.6: LVM deadlocks and oops

2011-09-20 Thread Hector Oron
Package: linux-2.6
Version: 3.1.0-rc6
Severity: normal
Tags: upstream

Hello,

  While playing with sbuild to build packages on armhf buildd running an
  upstream patched kernel for i.MX53 LOCO boards (next armhf build daemons).

  I have hit a deadlock and oops on LVM, so I think it is worth it to
  document the problem here and maybe it can get fixed.

[74093.782238] kjournald starting.  Commit interval 5 seconds
[74093.821968] EXT3-fs (dm-4): using internal journal
[74093.826917] EXT3-fs (dm-4): mounted filesystem with ordered data mode
[74397.131757] kjournald starting.  Commit interval 5 seconds
[74397.169996] EXT3-fs (dm-4): using internal journal
[74397.174838] EXT3-fs (dm-4): mounted filesystem with ordered data mode
[76601.907689] kjournald starting.  Commit interval 5 seconds
[76601.945944] EXT3-fs (dm-4): using internal journal
[76601.950779] EXT3-fs (dm-4): mounted filesystem with ordered data mode
[76656.111857] kjournald starting.  Commit interval 5 seconds
[76656.150092] EXT3-fs (dm-4): using internal journal
[76656.154937] EXT3-fs (dm-4): mounted filesystem with ordered data mode
[76793.872136] kjournald starting.  Commit interval 5 seconds
[76793.910358] EXT3-fs (dm-4): using internal journal
[76793.915200] EXT3-fs (dm-4): mounted filesystem with ordered data mode
[84651.608193] kjournald starting.  Commit interval 5 seconds
[84651.646426] EXT3-fs (dm-4): using internal journal
[84651.651269] EXT3-fs (dm-4): mounted filesystem with ordered data mode
[84738.700610] 
[84738.700625] ===
[84738.708389] [ INFO: possible circular locking dependency detected ]
[84738.714663] 3.1.0-rc6 #4
[84738.717197] ---
[84738.723467] lvcreate/9492 is trying to acquire lock:
[84738.728435]  (md-suspend_lock){+.+...}, at: [c02c73c4] 
dm_suspend+0x28/0x29c
[84738.735894] 
[84738.735897] but task is already holding lock:
[84738.741740]  (journal-j_barrier){+.+...}, at: [c01481c4] 
journal_lock_updates+0xf0/0xfc
[84738.750141] 
[84738.750145] which lock already depends on the new lock.
[84738.750150] 
[84738.758344] 
[84738.758346] the existing dependency chain (in reverse order) is:
[84738.765839] 
[84738.765842] - #1 (journal-j_barrier){+.+...}:
[84738.771981][c0052114] check_prev_add+0x338/0x680
[84738.777492][c0052e4c] validate_chain+0x4f4/0x674
[84738.782993][c0053714] __lock_acquire+0x748/0x828
[84738.788496][c0053a28] lock_release_non_nested+0x234/0x2bc
[84738.794780][c0053b98] __lock_release+0xe8/0x1cc
[84738.800195][c0053cdc] lock_release+0x60/0x70
[84738.805348][c04636d4] __mutex_unlock_slowpath+0xd4/0x13c
[84738.811551][c046374c] mutex_unlock+0x10/0x14
[84738.816705][c00c9434] freeze_bdev+0x9c/0xa4
[84738.821783][c02c7438] dm_suspend+0x9c/0x29c
[84738.826850][c02cc06c] dev_suspend+0x5c/0x90
[84738.831921][c02ccdd4] ctl_ioctl+0x228/0x2c8
[84738.836990][c02cce8c] dm_ctl_ioctl+0x18/0x1c
[84738.842145][c00a9fa4] do_vfs_ioctl+0x33c/0x38c
[84738.847483][c00aa034] sys_ioctl+0x40/0x64
[84738.852378][c000dfc0] ret_fast_syscall+0x0/0x3c
[84738.857801] 
[84738.857804] - #0 (md-suspend_lock){+.+...}:
[84738.863769][c0051c78] print_circular_bug+0x5c/0xfc
[84738.869445][c0051f10] check_prev_add+0x134/0x680
[84738.874947][c0052e4c] validate_chain+0x4f4/0x674
[84738.880450][c0053714] __lock_acquire+0x748/0x828
[84738.885952][c0053d78] lock_acquire+0x8c/0xa0
[84738.891107][c04643a8] mutex_lock_nested+0x74/0x30c
[84738.896784][c02c73c4] dm_suspend+0x28/0x29c
[84738.901851][c02cc06c] dev_suspend+0x5c/0x90
[84738.906920][c02ccdd4] ctl_ioctl+0x228/0x2c8
[84738.911988][c02cce8c] dm_ctl_ioctl+0x18/0x1c
[84738.917143][c00a9fa4] do_vfs_ioctl+0x33c/0x38c
[84738.922472][c00aa034] sys_ioctl+0x40/0x64
[84738.927367][c000dfc0] ret_fast_syscall+0x0/0x3c
[84738.932783] 
[84738.932786] other info that might help us debug this:
[84738.932791] 
[84738.940814]  Possible unsafe locking scenario:
[84738.940819] 
[84738.946747]CPU0CPU1
[84738.951280]
[84738.955810]   lock(journal-j_barrier);
[84738.959757]lock(md-suspend_lock);
[84738.966049]lock(journal-j_barrier);
[84738.972515]   lock(md-suspend_lock);
[84738.976287] 
[84738.976290]  *** DEADLOCK ***
[84738.976293] 
[84738.982232] 1 lock held by lvcreate/9492:
[84738.986243]  #0:  (journal-j_barrier){+.+...}, at: [c01481c4] 
journal_lock_updates+0xf0/0xfc
[84738.995085] 
[84738.995088] stack backtrace:
[84738.999455] Backtrace: 
[84739.001928] [c00114e0] (dump_backtrace+0x0/0x110) from [c04624e0] 
(dump_stack+0x18/0x1c)
[84739.010372]  r7:dee6f908 r6:dee6f920 r5: r4:
[84739.016090] [c04624c8] (dump_stack+0x0/0x1c) 

Bug#642235: linux-2.6: LVM deadlocks and oops

2011-09-20 Thread Ben Hutchings
On Tue, Sep 20, 2011 at 05:28:49PM +0100, Hector Oron wrote:
 Package: linux-2.6
 Version: 3.1.0-rc6
 Severity: normal
 Tags: upstream
 
 Hello,
 
   While playing with sbuild to build packages on armhf buildd running an
   upstream patched kernel for i.MX53 LOCO boards (next armhf build daemons).
 
   I have hit a deadlock and oops on LVM, so I think it is worth it to
   document the problem here and maybe it can get fixed.
[...]
 
Please add the 'forwarded' reference.

Ben.

-- 
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
  - Albert Camus



-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110920172703.go2...@decadent.org.uk