Em Fri, 22 Feb 2013 18:48:25 -0500
Josh Boyer <jwboyer(a)redhat.com> escreveu:
On Sat, Feb 23, 2013 at 12:29:24AM +0100, poma wrote:
> On 02/22/13 19:15, Bruno Wolff III wrote:
> > On Fri, Feb 22, 2013 at 10:17:17 -0500,
> > Josh Boyer <jwboyer(a)redhat.com> wrote:
> >> Just a quick heads up that the 3.9 merge window kernels are being built
> >> in rawhide now. I've tried to at least test boot kernels on my
machine
> >> before submitting them to koji, but testers beware. Merge window
> >> kernels can be tricky.
> >
>
> Euphemism for broken? ;)
No. A euphemism for that would be "operationally challenged".
> > I have git3 running on three machines and things seem fine. I'll be
> > trying out git5 very soon.
>
> Linux version 3.9.0-0.rc0.git5.1.fc19.x86_64
> (mockbuild(a)bkernel01.phx2.fedoraproject.org) (gcc version 4.8.0 20130220
> (Red Hat 4.8.0-0.14) (GCC) ) #1 SMP Fri Feb 22 16:35:19 UTC 2013
> …
> =============================================
> [ INFO: possible recursive locking detected ]
> 3.9.0-0.rc0.git5.1.fc19.x86_64 #1 Not tainted
> ---------------------------------------------
> kworker/0:1/36 is trying to acquire lock:
> (hdl->lock){+.+...}, at: [<ffffffffa042d745>] find_ref_lock+0x25/0x60
> [videodev]
>
> but task is already holding lock:
> (hdl->lock){+.+...}, at: [<ffffffffa0430888>]
> v4l2_ctrl_add_handler+0x78/0xf0 [videodev]
>
> other info that might help us debug this:
> Possible unsafe locking scenario:
>
> CPU0
> ----
> lock(hdl->lock);
> lock(hdl->lock);
>
> *** DEADLOCK ***
>
> May be due to missing lock nesting notation
>
> 3 locks held by kworker/0:1/36:
> #0: (events){.+.+.+}, at: [<ffffffff8108d870>]
> process_one_work+0x190/0x680
> #1: ((&wfc.work)){+.+.+.}, at: [<ffffffff8108d870>]
> process_one_work+0x190/0x680
> #2: (hdl->lock){+.+...}, at: [<ffffffffa0430888>]
> v4l2_ctrl_add_handler+0x78/0xf0 [videodev]
>
> stack backtrace:
> Pid: 36, comm: kworker/0:1 Not tainted 3.9.0-0.rc0.git5.1.fc19.x86_64 #1
> Call Trace:
> [<ffffffff810da843>] __lock_acquire+0x19e3/0x1a80
> [<ffffffff81021d69>] ? sched_clock+0x9/0x10
> [<ffffffff810acf15>] ? sched_clock_cpu+0xb5/0x100
> [<ffffffff810db092>] lock_acquire+0xa2/0x1f0
> [<ffffffffa042d745>] ? find_ref_lock+0x25/0x60 [videodev]
> [<ffffffff81711820>] mutex_lock_nested+0x80/0x3c0
> [<ffffffffa042d745>] ? find_ref_lock+0x25/0x60 [videodev]
> [<ffffffffa042d745>] ? find_ref_lock+0x25/0x60 [videodev]
> [<ffffffff810d8a7d>] ? trace_hardirqs_on_caller+0xfd/0x190
> [<ffffffffa042d745>] find_ref_lock+0x25/0x60 [videodev]
> [<ffffffffa042fce6>] handler_new_ref+0x46/0x1f0 [videodev]
> [<ffffffffa04308c7>] v4l2_ctrl_add_handler+0xb7/0xf0 [videodev]
> [<ffffffffa042a657>] v4l2_device_register_subdev+0x97/0x180 [videodev]
> [<ffffffffa04caa5e>] ivtv_gpio_init+0x13e/0x180 [ivtv]
> [<ffffffffa04c5cb4>] ivtv_probe+0x914/0x1bf0 [ivtv]
> [<ffffffff810d8904>] ? mark_held_locks+0xb4/0x130
> [<ffffffff81714636>] ? _raw_spin_unlock_irqrestore+0x36/0x70
> [<ffffffff810d8b1d>] ? trace_hardirqs_on+0xd/0x10
> [<ffffffff813890ae>] local_pci_probe+0x3e/0x70
> [<ffffffff810898a4>] work_for_cpu_fn+0x14/0x20
> [<ffffffff8108d8d9>] process_one_work+0x1f9/0x680
> [<ffffffff8108d870>] ? process_one_work+0x190/0x680
> [<ffffffff8108e0e1>] worker_thread+0x111/0x3c0
> [<ffffffff8108dfd0>] ? rescuer_thread+0x270/0x270
> [<ffffffff810938fd>] kthread+0xed/0x100
> [<ffffffff81093810>] ? insert_kthread_work+0x80/0x80
> [<ffffffff8171e16c>] ret_from_fork+0x7c/0xb0
> [<ffffffff81093810>] ? insert_kthread_work+0x80/0x80
> …
> ------------[ cut here ]------------
> WARNING: at lib/dma-debug.c:947 check_for_stack+0xa0/0x100()
> …
> Pid: 38, comm: kworker/2:1 Not tainted 3.9.0-0.rc0.git5.1.fc19.x86_64 #1
> Call Trace:
> [<ffffffff81068670>] warn_slowpath_common+0x70/0xa0
> [<ffffffff810686ec>] warn_slowpath_fmt+0x4c/0x50
> [<ffffffff81378dd0>] check_for_stack+0xa0/0x100
> [<ffffffff81379180>] debug_dma_map_page+0x100/0x140
> [<ffffffff814e6fdb>] usb_hcd_map_urb_for_dma+0x55b/0x620
> [<ffffffff814e7335>] usb_hcd_submit_urb+0x295/0x8d0
> [<ffffffff810d625c>] ? lockdep_init_map+0x9c/0x470
> [<ffffffff814e8905>] usb_submit_urb+0x155/0x3d0
> [<ffffffff814e9274>] usb_start_wait_urb+0x74/0x190
> [<ffffffff814e9831>] usb_bulk_msg+0xc1/0x170
> [<ffffffffa058c646>] dvb_usbv2_generic_rw+0xc6/0x260 [dvb_usb_v2]
> [<ffffffffa05943be>] af9015_ctrl_msg+0x16e/0x260 [dvb_usb_af9015]
> [<ffffffff8136be2a>] ? debug_object_deactivate+0x8a/0x170
> [<ffffffffa0594bbc>] af9015_identify_state+0x3c/0x90 [dvb_usb_af9015]
> [<ffffffffa058b08d>] dvb_usbv2_init_work+0x6d/0x10e0 [dvb_usb_v2]
> [<ffffffff8108d8d9>] process_one_work+0x1f9/0x680
> [<ffffffff8108d870>] ? process_one_work+0x190/0x680
> [<ffffffff8108e0e1>] worker_thread+0x111/0x3c0
> [<ffffffff8108dfd0>] ? rescuer_thread+0x270/0x270
> [<ffffffff810938fd>] kthread+0xed/0x100
> [<ffffffff81093810>] ? insert_kthread_work+0x80/0x80
> [<ffffffff8171e16c>] ret_from_fork+0x7c/0xb0
> [<ffffffff81093810>] ? insert_kthread_work+0x80/0x80
> ---[ end trace b4a4208b0ed39626 ]---
Mauro, any idea on these two?
The first one looks to be a know issue: __initdev inside ivtv/cx18, is delaying
initialization to happen after registering the device. There's a patch for it,
pending upstream merge.
The second one seems to be a bad lock. I think I saw some discussion about
that at the media ML, but I can't remember the odd details. Perhaps there's
a fix for it already. It should be noticed that there's a pending pull
request with about ~600 patches for 3.9 that is pending its merge.
The ivtv fix should be there. I hope Linus will merge it soon.
Regards,
Mauro