uvcdynctrl spams uvcdynctrl-udev.log and fills up filesystem

Bug #811604 reported by Ryan Thompson
424
This bug affects 95 people
Affects Status Importance Assigned to Milestone
libwebcam (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

I have a Dell XPS M1330 with the following webcam, as reported by lsusb:

Bus 007 Device 039: ID 05a9:7670 OmniVision Technologies, Inc. OV7670 Webcam

It seems that the connection between the webcam and motherboard is a bit loose, because when I pivot the lid, the little blue light on the webcam flashes on and off, and the above line disappears and reappears from my lsusb output. And, of course, any application using the webcam at the time crashes or has other troubles.

Anyway, when this happens, a process called uvcdynctrl spams the follwing message into /var/log/uvcdynctrl-udev.log:

[libwebcam] Warning: The driver behind device video0 has a slightly buggy implementation
  of the V4L2_CTRL_FLAG_NEXT_CTRL flag. It does not return the next higher
  control ID if a control query fails. A workaround has been enabled.

It writes this message about 300000 times per second by my estimate, which means that even my gratuitiously large 50 GB root filesystem fills up in mere minutes, causing all sorts of interesting things to start happening.

I tried setting debug=0 in /lib/udev/uvcdynctrl to disable logging, and that works, but uvcdynctrl still eats up 100% of one CPU core anyway.

So I uninstalled the uvcdynctrl package. We'll see if any of my programs complain about it.

I realize that it might be diffucult to reproduce this, since you don't have my flaky webcam connection cord, but maybe you can trugger it by quickly plugging and unplugging a USB webcam.

Related branches

Revision history for this message
Stefan Brozinski (stefan-brozinski) wrote :

This also happens with a perfectly good USB connection when vmware-player is starting a Vista guest.

The information about having enabled a workaround for a driver issue is not that important that it has to be written to the log file millions of times. It should be sufficient to log the problem once when it occurs for the first time and shut up afterwards.

Changed in libwebcam (Ubuntu):
status: New → Confirmed
Revision history for this message
Felipe Amado (amadinho10) wrote :

Same here on Asus 1215N - Ubuntu 11.04... It broke my Ubuntu =[

Revision history for this message
Felipe Amado (amadinho10) wrote :

After uninstalling libwebcam0 and removing that huge log file I can normally boot on my Ubuntu again =]

Revision history for this message
Brian Olson (icic) wrote :

Happens to me since I updated my ubuntu 11.04 a couple days ago. It filled 800GB of logs.
I had to kill it:

sudo killall -9 uvcdynctrl

it was repeating the message a zillion times:
[libwebcam] Warning: The driver behind device video0 has a slightly buggy implementation
  of the V4L2_CTRL_FLAG_NEXT_CTRL flag. It does not return the next higher
  control ID if a control query fails. A workaround has been enabled.

What even starts uvcdynctrl? Does it happen when I plug in the camera? When something opens the driver?

lsusb of the camera
Bus 005 Device 005: ID 1c4f:3002 SiGma Micro

$ uvcdynctrl --version
uvcdynctrl 0.2.0

Revision history for this message
Ivan Calderon (neomasterx7) wrote :

Just deleted a 108 GB /var/log/uvcdynctrl-udev.log

uvcdynctrl automatically starts after resuming from suspend, using 50-70% CPU and has to be manually killed by:

sudo kill -9 $(pidof uvcdynctrl)

uvcdynctrl-udev.log is filled with the same message.

Hardware:
Bus 003 Device 002: ID 04fc:2801 Sunplus Technology Co., Ltd

Version:
uvcdynctrl 0.2.1

Revision history for this message
Joe (j-moudrik) wrote :

Hello,
happens to me as well. I incude the last part of the log file, before the "infinite" warning:

[libwebcam] Warning: The driver behind device video0 has a slightly buggy implementation
  of the V4L2_CTRL_FLAG_NEXT_CTRL flag. It does not return the next higher
  control ID if a control query fails. A workaround has been enabled.

Revision history for this message
Joe (j-moudrik) wrote :

Also, I have forgotten some info about by machine and the package:
Ubuntu 11.10

 $ dpkg -s uvcdynctrl
Package: uvcdynctrl
Status: install ok installed
Priority: extra
Section: libs
Installed-Size: 100
Maintainer: Ubuntu Developers <email address hidden>
Architecture: amd64
Source: libwebcam
Version: 0.2.1-1
Depends: libc6 (>= 2.4), libwebcam0 (= 0.2.1-1), uvcdynctrl-data

Revision history for this message
SweetDaddyJones (nicogetz) wrote :

+1.

After an hour and a half of confused troubleshooting, I have come to realize that I too suffer from this bug. Just deleted a 14.8 GB log file and was finally able to boot normally again. Would LOOVE to have this one fixed.

Revision history for this message
Eleni Maria Stea (hikiko) wrote :

+1 Mine was 96GB (in Debian Wheezy)... Please, fix that bug!! :-)

Revision history for this message
lasse (lasselassi) wrote :

Same problem here on Kubuntu 12.10.

Suddenly, KDE wouldn't start and fortunately I quickly found that logfile had filled up my harddrive.

I've set "debug=0" in "/lib/udev/uvcdynctrl" as mentioned above to work around the issues for now, but that obviously isn't a real solution.

Package: uvcdynctrl
Status: install ok installed
Priority: extra
Section: utils
Installed-Size: 89
Maintainer: Ubuntu Developers <email address hidden>
Architecture: amd64
Source: libwebcam
Version: 0.2.2-1
Depends: libc6 (>= 2.14), libwebcam0 (= 0.2.2-1), uvcdynctrl-data

Revision history for this message
Sami Mäkinen (sami-makinen-helsinki) wrote :

Somehow I have not seen this issue before, but after moving house suddenly the root fs was filled by this log. No hardware changes, except that of the 2 displays connected before, now only 1 is. Probably used a different USB connector.

Why did this happen now and not before?

I would rate this a high priority issue, because of the secondary effects of this and that breaking due to full disk.

Revision history for this message
Myna Mefirst (myna6p) wrote :

Folks, I am glad i found this bug post.
I am running Ubuntu 12.04.1 and never had this problem, but oh surprise. after installing Kernel 3.8.0-RC1, this started occuring. it does NOT occur for ME with Kernel 3.7.1
Let me preface this by saying that i KNOW that newer and non-released kernels are not supported, but i wanted to share with you all because it may have something to do with a kernel change.
The workaround above works for me, but i hope this may give you a better clue.

$dpkg -s uvcdynctrl
Package: uvcdynctrl
Status: install ok installed
Priority: extra
Section: libs
Installed-Size: 85
Maintainer: Ubuntu Developers <email address hidden>
Architecture: amd64
Source: libwebcam
Version: 0.2.1-1build1
Depends: libc6 (>= 2.4), libwebcam0 (= 0.2.1-1build1), uvcdynctrl-data

Revision history for this message
Matt Hamann (matthew-hamann) wrote :

Just deleted over 100GB of logs from this bug. Fortunately, I caught it before my system became unbootable.

It seemingly only occurs after a power state change. I've noticed it when resuming from suspend and occasionally when plugging/unplugging power from my laptop. It doesn't seem to occur *every* time each one of those events occurs.

I noticed the issue, because `uvcdynctrl` was using 100% CPU and causing the system to hang temporarily.

I can confirm that `sudo killall -9 uvcdynctrl` will cause the logs to stop overflowing and the system to return to normal operating state. Previously, I was using a system reboot to resolve the issue temporarily.

For now, I'll use the `kill` workaround to fix the system issues, and likely set up a cronjob to remove the offending log file.

As others have mentioned, this seems like a high-priority bug. My machine is a Lenovo ThinkPad T410 (w/ webcam, obviously).

Here's my build/environment info:

Package: uvcdynctrl
Status: install ok installed
Priority: extra
Section: libs
Installed-Size: 85
Maintainer: Ubuntu Developers <email address hidden>
Architecture: amd64
Source: libwebcam
Version: 0.2.1-1build1
Depends: libc6 (>= 2.4), libwebcam0 (= 0.2.1-1build1), uvcdynctrl-data
Description: Command line tool to control v4l2 devices

Revision history for this message
mazurkin (mazurkin) wrote :

The same happened when I passed USB web camera into KVM guest system (Xubuntu 12.04, QEMU 1.4.0)

Revision history for this message
Harri (harri-vayrynen) wrote :

Yesterday in installed to my 12.04.1 uvcdynctrl and day after my root filesystem was full due /var/log/uvcdynctrl-udev.log (63G), so it seems that this bug impacts for many users. Is there any (other) workaround than put cron to clean that file ?

Revision history for this message
Stephan Huebner (s-huebner) wrote :

Happened to me as well on 12.10 after having used my webcam via VirtualBox/Win XP for the very first time. The HD was filled to the brink with a 33 GB file.

Revision history for this message
m1fcj (hakan-koseoglu) wrote :

Experienced out of the blue on a very upto date 13.04.
-rw-r--r-- 1 root root 279008261488 Sep 7 12:14 uvcdynctrl-udev.log

Seriously?? Seriously???

Revision history for this message
Tom Oehser (tom-toms) wrote :

Seriously? Hundreds of gigs of log fill the disk, and it doesn't get fixed for years? How hard can this one be?

Revision history for this message
Peter Ries (peterriesde) wrote :

Affects me too. Still occuring on a brand new 13.10 xubuntu installation. Please turn off debug (=0), as mentioned above, by default. Or even better: please provide a fix.

Turning off debug would at least preventing the system from gettin unusable due to a full / partition...

Revision history for this message
planetisti (jamminen) wrote :

Just experienced this bug:
Elitebook 8440p
Ubuntu 12.04
3.2.0-55-generic #85-Ubuntu SMP

Perhaps it has to do with suspend/resume?

Revision history for this message
Alan Pope 🍺🐧🐱 🦄 (popey) wrote :

Ugh. Just deleted 8GB of this log on my laptop.

Revision history for this message
mdc (nexuscomputing) wrote :

I had the same issue, I was running out of disk space and was unable to race the write process.
This is a serious bug, please fix it.

uvcdynctrl-udev.log has grown to 50G which is a respectable amount on my SSD.

Is there a workaround meanwhile to deny a process writing to that file?
Maybe chmod 000 on /var/uvcdynctrl-udev.log ?

Revision history for this message
mdc (nexuscomputing) wrote :

chmod 000 to /var/log/uvcdynctrl-udev.log does not work, don't bother trying. I removed the package, hope this will solve the problem.

Revision history for this message
Venelin (venelin-tanev) wrote :

Having troubles all day to find out why can't boot into Ubuntu 12.04 32-bit system caused by no memory left messages, finally got rid of this 10GB log file. I've broke the installation by running Janitor (Ubuntu Tweaks) and spend the whole day fixing things and almost did a new install.

My webcam is not working from an year and I'm using this installation of Ubuntu from more than an year, didn't have such a problem so far.

dpkg -s uvcdynctrl
Package: uvcdynctrl
Status: install ok installed
Priority: extra
Section: libs
Installed-Size: 83
Maintainer: Ubuntu Developers <email address hidden>
Architecture: i386
Source: libwebcam
Version: 0.2.1-1build1
Depends: libc6 (>= 2.4), libwebcam0 (= 0.2.1-1build1), uvcdynctrl-data
Description: Command line tool to control v4l2 devices
 This package provides the tools needed to add vendor specific
 controls to uvc devices.
 .
 uvcdynctrl is part of the Webcam Library.

Revision history for this message
Yakir Gagnon (12-yakir) wrote :

Same here. Not much new to add except that it happened when I connected an OfficeOne CMOS webcam of the cheapest kind (5$).

Revision history for this message
Alex10336 (ap10336) wrote :

Same here:

$ dpkg -s uvcdynctrl
Package: uvcdynctrl
Status: install ok installed
Priority: extra
Section: libs
Installed-Size: 85
Maintainer: Ubuntu Developers <email address hidden>
Architecture: amd64
Source: libwebcam
Version: 0.2.1-1build1
Depends: libc6 (>= 2.4), libwebcam0 (= 0.2.1-1build1), uvcdynctrl-data

$ lsb_release -a && uname -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.4 LTS
Release: 12.04
Codename: precise
Linux ubuntu2c 3.2.0-58-generic #88-Ubuntu SMP Tue Dec 3 17:37:58 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

$ lsusb
...
Bus 002 Device 002: ID 045e:0766 Microsoft Corp.
...
Bus 001 Device 006: ID 0ac8:3450 Z-Star Microelectronics Corp.

Revision history for this message
Dmitry Pashkevich (dipish) wrote :

I just found that file on my 13.10 system and it was over 114Gb!!!

The repeating pattern that appears in the log file is different from the one posted by other people here, see attached file (last 500 lines).
I'm using a Logitech C910 webcam.

$ dpkg -s uvcdynctrl
Package: uvcdynctrl
Status: install ok installed
Priority: extra
Section: utils
Installed-Size: 89
Maintainer: Ubuntu Developers <email address hidden>
Architecture: amd64
Source: libwebcam
Version: 0.2.2-1
Depends: libc6 (>= 2.14), libwebcam0 (= 0.2.2-1), uvcdynctrl-data
Description: Command line tool to control v4l2 devices
 This package provides the tools needed to add vendor specific
 controls to uvc devices.
 .
 uvcdynctrl is part of the Webcam Library.
 .
 The Webcam Library libwebcam is designed to simplify
 the development of webcam applications, primarily on Linux but
 with an option to be ported to other platforms, in particular
 Solaris. It realizes part of what the unwritten Video4Linux user
 space library was always supposed to be: an easy to use library
 that shields its users from many of the difficulties and problems
 of using the V4L2 API directly.
Original-Maintainer: Paulo Assis <email address hidden>
Homepage: http://www.quickcamteam.net/software/libwebcam

$ lsb_release -a && uname -a
LSB Version: core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch:core-4.1-amd64:core-4.1-noarch:security-4.0-amd64:security-4.0-noarch:security-4.1-amd64:security-4.1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 13.10
Release: 13.10
Codename: saucy
Linux dpashk-carbon 3.11.0-17-generic #31-Ubuntu SMP Mon Feb 3 21:52:43 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a && uname -a
LSB Version: core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch:core-4.1-amd64:core-4.1-noarch:security-4.0-amd64:security-4.0-noarch:security-4.1-amd64:security-4.1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 13.10
Release: 13.10
Codename: saucy
Linux dpashk-carbon 3.11.0-17-generic #31-Ubuntu SMP Mon Feb 3 21:52:43 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Revision history for this message
Asylum (davidjellison) wrote :

This is still an issue for 14.04 LTS
Ram 7.8GB
CPU AMD Phenom 965 4x core
Graphics VESA: CURACAO
OS type 64-bit
Disk 976GB

This only started after updating to 14.04, I have been running with same hardware for a few years, except graphice card upgraded 6 months ago under 13.10 with no issues until upgraded to 14.04.
I took the step to set debug=0 after finding a 287GB log file for this process, but i will still find it using 100% of one core every now and then.

Revision history for this message
planetisti (jamminen) wrote :

After some random number of suspend/resume I will always experience this bug on my laptop. It does not appear without suspend/resume.

Ubuntu 12.04
3.2.0-61-generic #93-Ubuntu SMP Fri May 2 21:31:50 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Revision history for this message
Gregory Kramida (algomorph) wrote :

I'm on 14.04 LTS now as well, and have to say the problem reoccurs regradless of suspend/resume. It only happens after I plug the camera in / out several times.
I'm trying to follow this solution here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733094
Setting the debug to 0. If the issue still occurs, I'll let you know. Seems like a possible work-around.

Revision history for this message
Roosemberth Palacios (roosemberth) wrote :

Just Realized this, I deleted 639GB of Log...... can someone fix this please?

Revision history for this message
Christopher (soft-kristal) wrote :

I'm pretty sure in my case it had nothing to to with the webcam. I was notified of low disk space shortly after attaching a USB pen drive with corrupted files.

Revision history for this message
erichgamba (erichgamba) wrote :

This is still an issue in Ubuntu 14.04.2 LTS.

Revision history for this message
Juergen Meixner (juergen-sly) wrote :

Same problem here since an update.

The problem isn't solved by changing the debug option to 0 in uvcdynctrl, the system also writes this error into

-rw-r----- 1 syslog adm 99000161 ago 21 20:19 syslog

and

-rw-r----- 1 syslog adm 98818900 ago 21 19:53 kern.log

until the disk is full.

Please let me know how to cope with this.

Revision history for this message
Juergen Meixner (juergen-sly) wrote :

After sudo rm -rf /var/log/uvcdynctrl-udev.log my desktop has space again, before the /dev/sda1 was occupated 100% by the log-file and the screen freezes.

juergen@juergen-desktop:/var/log$ df -TH

Dateisystem Typ Größe Benutzt Verf. Verw% Eingehängt auf

/dev/sda1 ext4 19G 5,4G 13G 31% /
none tmpfs 4,1k 0 4,1k 0% /sys/fs/cgroup
udev devtmpfs 2,0G 4,1k 2,0G 1% /dev
tmpfs tmpfs 383M 1,2M 382M 1% /run
none tmpfs 5,3M 4,1k 5,3M 1% /run/lock
none tmpfs 2,0G 156k 2,0G 1% /run/shm
none tmpfs 105M 54k 105M 1% /run/user

Still, there are big files in /var/log:

-rw-r--r-- 1 root root 1562351 ago 21 20:19 dpkg.log
-rw-r----- 1 syslog adm 227095055 ago 22 11:21 kern.log
-rw-r----- 1 syslog adm 227383822 ago 22 11:29 syslog

Revision history for this message
Tony Schaefer (courseinmiracles) wrote :

I am using an old Toshiba laptop. And the webcam had been playing up and now no longer works ( even after taking the laptop apart and checking the connection. I found a 347GB log file also, which now has been deleted.

tail -n 500 /var/log/uvcdynctrl-udev.log

[libwebcam] Warning: The driver behind device video0 has a slightly buggy implementation
  of the V4L2_CTRL_FLAG_NEXT_CTRL flag. It does not return the next higher
  control ID if a control query fails. A workaround has been enabled.

QUESTION; Is there a fix for this and will it continue? Do I have to Delete the file ( /lib/udev/uvcdyncrtl ) that is propagating this log file?
Any ideas?

Revision history for this message
Greg Holst (gregory-holst) wrote :

This prevented me from logging onto my computer after a restart. It shut me down for over 2 hours. I'm using the version from the ubuntu software center of guvcview (guvcview 1.7.1-1ubuntu1).

Revision history for this message
gary munroe (gm4-486) wrote :

This problem just happened to me on my Thinkpad x301. I am running Linux Mint 17.3, which is based on Ubuntu 14.4. I have been running successive versions of Linux Mint for years without this happening. I recently, and for the first time, decided to use the built-in camera to video chat. I installed Cheese and gucview from the official repostory, and soon after all empty space on my hard drive was filled with the uvcdyncrtl log file.

Revision history for this message
flrtx (fltrx) wrote :

Same problem on a HP 250 G3: /var/log/uvcdynctrl-udev.log grew to 9,8G and filled the / partition completely. The graphical desktop environment wouldn’t start any more.

Workaround: I deleted /var/log/uvcdynctrl-udev.log and removed the package libwebcam0, thus removing it’s dependency uvcdynctrl.

I would appreciate a real fix for this since it rendered my computer useless until I found this solution. Thanks.

Revision history for this message
James Mitchell (jmit) wrote :

I think what is really needed is to have the logfile added to the logrotate list, so it is kept under control.

I added this file to /etc/logrotate.d/

Revision history for this message
pavan (pavan9630) wrote :

my laptop error log is rapidly increasing upto 30gn

Revision history for this message
David (djgietze) wrote :

Here's a quick and dirty workaround: after you delete the uvcdynctrl-udev.log file, create a symbolic link to /dev/null so that new text is thrown out.

sudo ln -s /dev/null /var/log/uvcdynctrl-udev.log

I haven't experienced the high CPU usage that others have reported, so I don't know if this has any effect on that or not.

Revision history for this message
GeekSmith (lixo-geeksmith) wrote :

I just discovered this on my Ubuntu 19.10 system. Mine was caused by booting a VirtualBox windows VM that automatically attaches the camera when it's detected.

This bug was reported 9 years ago. NINE YEARS. Still unassigned, importance undecided. What's going on, folks?

Revision history for this message
Romano Giannetti (romano-giannetti) wrote :

I have (Ubuntu 18.04) also a spamming on /var/log/syslog, like:

Aug 28 12:01:13 pern kernel: [ 4554.463716] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 1: -32 (exp. 1).
Aug 28 12:01:13 pern kernel: [ 4554.464089] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 1: -32 (exp. 1).
Aug 28 12:01:13 pern kernel: [ 4554.464464] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 1: -32 (exp. 1).
Aug 28 12:01:13 pern kernel: [ 4554.464878] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 1: -32 (exp. 1).

...which is not shut off by the debug=0 (at least, that seems to me, I have not tested extensively)

Revision history for this message
Jeff Ward (jeff-ward) wrote :

What the heck? I woke up to a 9GB+ logfile (/var/log/uvcdynctrl-udev.log) on the root partition and "no space left on device" errors.

I'm thinking we should pipe that logfile to post in this thread and see how long it takes to get attention. :D

Revision history for this message
Jose Ignacio (jdiazgonz) wrote :

Same issue here. Problem appeared after upgrading to 20.10 (a couple of weeks ago). Didn't realize about it until I couldn't initiate X session (there was no space in root folder for the temporary files and got an error message).

Deleting the file solves the "main issue" and I'm able to log in again but the file keeps growing a couple of Gb every day and it has to be deleted from time to time (which is not difficult but definitely is quite annoying).

Revision history for this message
Jun Mendero (rememberizer) wrote :

Also experiencing this issue. I believe it first happened when I disconnected a UVC Capture card.

Revision history for this message
stef (update-5) wrote :

My system also stops working a while after connecting a webcam.

As this problem only shows up on some system, I found purging the packet "uvcdynctrl" solves the problem for me.
Up to now I see no side effects, as the webcam anyway seams to be unsupported by uvcdynctrl. The camera works in both cases.

Revision history for this message
david hammett (doclinux-dh) wrote (last edit ):

 After doing a regular apt-get upgrade on my Ubuntu 18.04 LTS about 5 days ago.I finely fixed my laptop that has the beast triple boot system with windows 10, Ubuntu 18.04 and Kubuntu 18.04 that Ive had in the last 30 years .The uvcdyncrtl lib after filling up my /var partition caused the primary super-block to be damaged on my /dev/sda8 partasion. There for I go and boot into my old trusty Kubuntu 18.04 and do just a simple apt-get update and bam It freezes up too. Booted into Windows 10 and its sill working thank about that for a minuet or two LOL. I had to use the drive's backup super-block to get things back booting, then deleted /var/log/uvcdynctrl-udev.log file and set the debug=1 to "0". Here some good documentation on how to fix the super-block in case if someone else has the same problems. https://www.linuxbabe.com/desktop-linux/fix-cant-read-superblock-error They really need to fix this instead of us just working around it.

Revision history for this message
Karl Kastner (kastner-karl) wrote :

20.04 focal, uvcdynctrl-udev.log is 21G. The first entry in this log file if from Fri Dec 4 21:01:36 CET 2015. This file should be added to the logrotate list as suggested by James Mitchell (jmit) on 2016-10-19.

Revision history for this message
January (january-weiner) wrote :

I run into this problem myself. System completely frozen, took me a while to figure that out. Also, the cam was not working properly even before filling up the system with useless warnings. I can't believe that after more than ten years the problem still persists.

The solution is to apt-get remove uvcdynctrl uvcdynctrl-data libcamweb0

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libwebcam - 0.2.5-2

---------------
libwebcam (0.2.5-2) unstable; urgency=medium

  * debian/control: Bump Standards-Version to 4.6.1.
  * debian/control: Restrict architecture to linux-any.
  * debian/patches: Add patch to fix package reproducibility.
    (Closes: #787999)
  * debian/changelog: Remove trailing spaces.

 -- Boyuan Yang <email address hidden> Sun, 21 Aug 2022 19:44:40 -0400

Changed in libwebcam (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Damien Huet (damienh) wrote :

Hi everyone,

Thank you for the useful comments. The issue still exists on my Dell XPS 7515. I linked the logfile onto /dev/null but I still have 2 to 4 cores to 100% most of the time, decreasing my battery life (and probably hardware lifetime...) significantly. Setting debug=0 in /lib/udev/uvcdynctrl does *not* fix the issue, and using "sudo killall -9 uvcdynctrl" does *not* stop the high CPU usage either, as the processes are just restarted right away. For now, the only way for me to be able to use my computer is to remove the uvcdynctrl package, but it results in my webcam being not recognized: this is less than ideal in our era of Zoom meetings.
Any idea on how to fix uvcdynctrl or find a more stable webcam driver would be appreciated.
Thank you very much!

Kernel version:
cat /proc/version
Linux version 6.2.6-76060206-generic (buildd@lcy02-amd64-031) (x86_64-linux-gnu-gcc-12 (Ubuntu 12.1.0-2ubuntu1~22.04) 12.1.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #202303130630~1683753207~22.04~77c1465~dev-Ubuntu SMP PREEMPT_DY

Webcam model:
lsusb -v
[...]
Bus 001 Device 009: ID 0c45:6723 Microdia Integrated_Webcam_HD
[...]

Revision history for this message
hazeii (h101) wrote (last edit ):

Having encountered this as well on a system that is used for a computer vision application (where no hotplugging is involved), hopefully I can add a little to the discussion.

For us, normally that logfile isn't even created - it only appears if the USB camera is (re)plugged in post-boot, i.e. udev runs uvcdynctrl to set up the newly-attached camera. So it seems the file only gets created if the camera is hot-plugged (in our case that's not expected, but for users with external USB cameras that could be far more common).

It still doesn't explain why the log file could use up all available space. Speculating now (informed by the various reports around the web about this) it seems possible that there's a bug in libwebcam where if the error is triggered even *once* then uvcdynctrl gets stuck in an endless loop throwing out that message. I think the code (someone more informed can likely get much further) is intended to print the message once and move on, but - perhaps - the code to "move on" doesn't work as intended.

The workaround would be - if you don't need uvcdynctrl to set the camera - to either remove uvcdynctrl (as many seem to have done to avoid this) or stop udev running uvcdynctrl when a camera is plugged in (delete the uvcdynctrl entries under /lib/udev?).

Apols if code bvelow isn't formatted correctly (first post on here): it's from line 2009 in libwebcam.c (v0.2.5):-

            // Prevent infinite loops for buggy NEXT_CTRL implementations
            if(r && v4l2_ctrl.id <= current_ctrl) {
                // If there was an error but the driver failed to provide us with the ID
                // of the next control, we have to manually increase the control ID,
                // otherwise we risk getting stuck querying the erroneous control.
                current_ctrl++;
                print_libwebcam_error_once(
                        "Warning: The driver behind device %s has a slightly buggy implementation\n"
                        " of the V4L2_CTRL_FLAG_NEXT_CTRL flag. It does not return the next higher\n"
                        " control ID if a control query fails. A workaround has been enabled.",
                        dev->v4l2_name);
                goto next_control;
            }

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.