Bug 1127611

Summary: Using ffmpeg to capture Webcam input results in kernel bug message
Product: [Fedora] Fedora Reporter: q8311692
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 20CC: gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, mchehab
Target Milestone: ---Flags: jforbes: needinfo?
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-12-10 15:01:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description q8311692 2014-08-07 08:53:41 UTC
Description of problem:
Trying to use the webcam results in the capture process becoming unresponsive and displays a "BUG" warning in dmesg protocol.

Also the system load becomes extremely high but no process seems to be using excessive resources.

Also, if I *disconnect* the webcam after the capturing process hangs up, and then run a command like v4l2-cmd -all (to list all video devices), this process also hangs up when it attempts to display information about the webcam which is no longer attached to the computer. To exclude any timeouts or something else I should add that this also happens many minutes after the hardware disconnect.

The v4l2-cmd process also hangs up in a way where it can't be killed anymore and permanantly shows up in ps aux with a "D".



Version-Release number of selected component (if applicable):

3.15.7-200.fc20.x86_64 #1 SMP Mon Jul 28 18:50:26 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

ffmpeg version 2.1.5 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jul  8 2014 20:44:17 with gcc 4.8.3 (GCC) 20140624 (Red Hat 4.8.3-1)

$ lsb_release -a
LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	Fedora
Description:	Fedora release 20 (Heisenbug)
Release:	20
Codename:	Heisenbug


How reproducible:

ffmpeg -i /dev/video1 myvid.mp4

Steps to Reproduce:
1. Connect USB webcam (Logitech Quickcam Pro 9000)
2. Run ffmpeg -i /dev/video1 myvid.mp4
3. ffmpeg crashes and can't be killed even with kill -9

Actual results:
ffmpeg hangs up and can't be killed anymore.
Other capture applications meet the same fate.

Expected results:
ffmpeg should capture the video.

Additional info:


[ 4466.763756] BUG: unable to handle kernel paging request at ffff88045f223a30
[ 4466.765303] IP: [<ffffffffa048a0e4>] __vb2_queue_alloc+0x84/0x4c0 [videobuf2_core]
[ 4466.766846] PGD 201c067 PUD 0 
[ 4466.768374] Oops: 0002 [#2] SMP 
[ 4466.769920] Modules linked in: fuse cpufreq_stats uvcvideo snd_usb_audio videobuf2_vmalloc videobuf2_memops videobuf2_core snd_usbmidi_lib videodev snd_rawmidi media bcm5974 iTCO_wdt iTCO_vendor_support applesmc input_polldev nls_utf8 hfsplus wl(POE) x86_pkg_temp_thermal coretemp kvm_intel snd_hda_codec_cirrus snd_hda_codec_generic snd_hda_codec_hdmi kvm snd_hda_intel snd_hda_controller snd_hda_codec cfg80211 snd_hwdep snd_seq microcode snd_seq_device rfkill snd_pcm mei_me i2c_i801 lpc_ich shpchp mei mfd_core sbs apple_bl snd_timer sbshc snd soundcore dm_crypt crct10dif_pclmul crc32_pclmul crc32c_intel i915 uas firewire_ohci i2c_algo_bit drm_kms_helper firewire_core tg3 ghash_clmulni_intel usb_storage ptp drm crc_itu_t pps_core i2c_core video
[ 4466.775117] CPU: 0 PID: 5437 Comm: ffmpeg Tainted: P      D    OE 3.15.7-200.fc20.x86_64 #1
[ 4466.776854] Hardware name: Apple Inc. MacBookPro11,1/Mac-XXXXXXXXXXXXXXXX, BIOS MBP111.88Z.0138.B07.XXXXXXXXXX 02/XX/2014
[ 4466.778617] task: ffff8802221162c0 ti: ffff8802249b8000 task.ti: ffff8802249b8000
[ 4466.780383] RIP: 0010:[<ffffffffa048a0e4>]  [<ffffffffa048a0e4>] __vb2_queue_alloc+0x84/0x4c0 [videobuf2_core]
[ 4466.782206] RSP: 0018:ffff8802249bbbf8  EFLAGS: 00010287
[ 4466.784015] RAX: 000000003fa0a021 RBX: ffff8802621d38d8 RCX: 800000004da12163
[ 4466.785806] RDX: ffff88021de5c9ec RSI: 0000000000000000 RDI: ffffffff81fc7ab8
[ 4466.787621] RBP: ffff8802249bbc40 R08: 000000003fa0a000 R09: 00000000000ff000
[ 4466.789424] R10: 0000000000000001 R11: ffff8802621d38d8 R12: ffff88003fa0fc00
[ 4466.791228] R13: 0000000000000022 R14: ffff8802621d38d8 R15: 0000000000000001
[ 4466.793052] FS:  00007f0afa0079c0(0000) GS:ffff88026f200000(0000) knlGS:0000000000000000
[ 4466.795188] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 4466.797019] CR2: ffff88045f223a30 CR3: 000000021dffa000 CR4: 00000000001407f0
[ 4466.798832] Stack:
[ 4466.800635]  0000010000000021 0000000100000001 ffff8802621d38d8 ffff8802621d38d8
[ 4466.802461]  ffff8802621d38d8 ffff8802621d3ab8 ffff8802621d3a78 ffff8802249bbdb0
[ 4466.804309]  ffff8802249bbdb8 ffff8802249bbc88 ffffffffa048aab4 0000000100000100
[ 4466.806167] Call Trace:
[ 4466.808015]  [<ffffffffa048aab4>] __reqbufs.isra.12+0x184/0x340 [videobuf2_core]
[ 4466.809902]  [<ffffffffa048aca0>] vb2_reqbufs+0x30/0x40 [videobuf2_core]
[ 4466.811764]  [<ffffffffa04ce13e>] uvc_alloc_buffers+0x2e/0x50 [uvcvideo]
[ 4466.813625]  [<ffffffffa04d0390>] uvc_v4l2_do_ioctl+0xf90/0x1620 [uvcvideo]
[ 4466.815622]  [<ffffffff8119e32e>] ? do_read_fault.isra.57+0x1ae/0x2f0
[ 4466.817540]  [<ffffffffa0454b4e>] video_usercopy+0x22e/0x5b0 [videodev]
[ 4466.819407]  [<ffffffffa04cf400>] ? uvc_v4l2_open+0x150/0x150 [uvcvideo]
[ 4466.821207]  [<ffffffff816fa46c>] ? __do_page_fault+0x20c/0x530
[ 4466.822891]  [<ffffffffa04ce7df>] uvc_v4l2_ioctl+0x2f/0x70 [uvcvideo]
[ 4466.824579]  [<ffffffffa044e71b>] v4l2_ioctl+0x11b/0x150 [videodev]
[ 4466.826297]  [<ffffffff811f9ac0>] do_vfs_ioctl+0x2e0/0x4a0
[ 4466.827989]  [<ffffffff811f1922>] ? final_putname+0x22/0x50
[ 4466.829714]  [<ffffffff811f9d01>] SyS_ioctl+0x81/0xa0
[ 4466.831442]  [<ffffffff816ff969>] system_call_fastpath+0x16/0x1b
[ 4466.833141] Code: 89 04 24 8b 03 41 89 44 24 04 8b 45 c0 83 f8 01 41 89 44 24 3c 74 58 44 8b 83 50 01 00 00 43 8d 44 05 00 41 83 c5 01 44 3b 6d bc <4c> 89 64 c3 50 0f 84 88 02 00 00 8b 7b 38 be d0 80 00 00 e8 14 
[ 4466.834953] RIP  [<ffffffffa048a0e4>] __vb2_queue_alloc+0x84/0x4c0 [videobuf2_core]
[ 4466.836715]  RSP <ffff8802249bbbf8>
[ 4466.838486] CR2: ffff88045f223a30
[ 4466.840233] ---[ end trace 3d4b010b912b41ca ]---



ps aux | grep ffmpeg
user      5437  0.0  0.0      0     0 ?        D    10:21   0:00 [ffmpeg]

This process can't be killed even with sudo kill -9 5437



High System load:

top - 10:48:38 up  1:41,  4 users,  load average: 5,34, 5,27, 4,12
Tasks: 163 total,   1 running, 157 sleeping,   0 stopped,   5 zombie
%Cpu(s):  3,6 us,  0,7 sy,  0,0 ni, 94,7 id,  0,6 wa,  0,4 hi,  0,0 si,  0,0 st

However, there don't seem to be any active processes that use much resources that would warrant a load that high.

RAM is also not an issue:

            total       used       free     shared    buffers     cached
Mem:       8083080    4461416    3621664     735620      76580    2870408
-/+ buffers/cache:    1514428    6568652
Swap:            0          0          0

Comment 1 Justin M. Forbes 2014-11-13 16:01:58 UTC
*********** MASS BUG UPDATE **************

We apologize for the inconvenience.  There is a large number of bugs to go through and several of them have gone stale.  Due to this, we are doing a mass bug update across all of the Fedora 20 kernel bugs.

Fedora 20 has now been rebased to 3.17.2-200.fc20.  Please test this kernel update (or newer) and let us know if you issue has been resolved or if it is still present with the newer kernel.

If you have moved on to Fedora 21, and are still experiencing this issue, please change the version to Fedora 21.

If you experience different issues, please open a new bug report for those.

Comment 2 Justin M. Forbes 2014-12-10 15:01:24 UTC
This bug is being closed with INSUFFICIENT_DATA as there has not been a response in over 3 weeks. If you are still experiencing this issue, please reopen and attach the relevant data from the latest kernel you are running and any data that might have been requested previously.