[dm-devel] BUG: spinlock trylock failure on UP on CPU#0, vgchange/936

Jens Axboe axboe at kernel.dk
Sun Jan 22 12:10:45 UTC 2012


On 2012-01-22 12:38, Christian Kujau wrote:
> On Sun, 22 Jan 2012 at 02:36, Christian Kujau wrote:
>> On Sun, 22 Jan 2012 at 11:30, Jens Axboe wrote:
>>> What about with this on top?
>>
>> Will try. A compile on this box takes almost two hours (PowerBook G4, 
>> throttled to 70MHz), would it be enough to remove the block/*.o files and 
>> continue from there?
> 
> OK, I did that. With the pull from linux-block.git ("for-linus") and your 
> diff[0], the BUG is still there:
> 
> [   15.048991] BUG: spinlock trylock failure on UP on CPU#0, vgchange/911
> [   15.050579]  lock: ef32a9f8, .magic: dead4ead, .owner: vgchange/911, .owner_cpu: 0
> [   15.052081] Call Trace:
> [   15.053561] [eecaf9e0] [c0009de4] show_stack+0x70/0x1bc (unreliable)
> [   15.055078] [eecafa20] [c0326d64] spin_dump+0x70/0xe0
> [   15.056576] [eecafa30] [c0326f48] do_raw_spin_trylock+0x58/0x70
> [   15.058052] [eecafa40] [c0512b88] _raw_spin_trylock+0x34/0xa0
> [   15.059496] [eecafa60] [c02f53f4] put_io_context+0xd8/0x184
> [   15.060953] [eecafa80] [c030343c] __cfq_slice_expired+0x1e4/0x43c
> [   15.062426] [eecafac0] [c03053bc] cfq_insert_request+0x234/0x558
> [   15.063908] [eecafae0] [c02edc00] __elv_add_request+0x1a4/0x2d4
> [   15.065371] [eecafaf0] [c02f0f14] blk_flush_plug_list+0x22c/0x270
> [   15.066833] [eecafb20] [c051133c] io_schedule+0x74/0xec
> [   15.068270] [eecafb30] [c0110f1c] dio_await_completion+0x60/0xf4
> [   15.069692] [eecafb50] [c0112ca0] __blockdev_direct_IO+0x1b80/0x3574
> [   15.071110] [eecafd70] [c010f438] blkdev_direct_IO+0x54/0x64
> [   15.072512] [eecafd90] [c009a424] generic_file_aio_read+0x7b8/0x808
> [   15.073890] [eecafe40] [c00d4f68] do_sync_read+0xb8/0x144
> [   15.075254] [eecafef0] [c00d6168] vfs_read+0xcc/0x1c0
> [   15.076610] [eecaff10] [c00d6394] sys_read+0x58/0xc8
> [   15.077958] [eecaff40] [c00127a0] ret_from_syscall+0x0/0x38
> [   15.079299] --- Exception: c01 at 0xfe52b90
> [   15.079302]     LR = 0x1003e834
> 
> 
> As I said before, I do have lvm2 tools installed, but I'm not actually 
> using LVM. Grepping through the initscripts, the lvm2 init script 
> seems to be doing the following during bootup:
> 
>   do_start()
>   {
>         modprobe dm-mod 2> /dev/null || :
>         /sbin/vgscan --ignorelockingfailure --mknodes || :
>         /sbin/vgchange -aly --ignorelockingfailure || return 2
>   }
> 
> 
> Running "vgchange -aly --ignorelockingfailure" again (that is, after 
> the machine finished booting and printed the BUG already) does not print 
> the BUG again, I guess that's intentional.

OK, I will see if I can reproduce this. Thanks for testing!

-- 
Jens Axboe




More information about the dm-devel mailing list