0

I ran sudo dmesg --follow shortly after rebooting and found these messages at the end of the output. It seems to come out several times. A few lines around that are

[  139.356270] ------------[ cut here ]------------
[  139.356272] Unknown pixelformat 0x00000000
[  139.356309] WARNING: CPU: 1 PID: 3056 at /build/linux-7kdHqT/linux-4.15.0/drivers/media/v4l2-core/v4l2-ioctl.c:1291 v4l_fill_fmtdesc+0xf41/0x1250 [videodev]

More dmesg output can be seen at https://pastebin.com/4YxinP3Z

System is a Dell XPS-13 9370 with Intel video adapter.

hbarta@karakum:~$ cat /etc/issue
Ubuntu 18.04.2 LTS \n \l

hbarta@karakum:~$ uname -a
Linux karakum 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
hbarta@karakum:~$ lspci|grep VGA
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
hbarta@karakum:~$ 

What problem is being reported? Should I be concerned? How can I fix and should I file a bug report?

I was not looking for an issue when I say this so on the surface, it seems innocuous.

Thanks!

1 Answer 1

2

This warning message is issues by the Video4Linux driver when a VIDIOC_ENUM_FMT ioctl() command is actioned on some video device (for example, a webcamera). An application is using the ioctl command to enumerate image formats and passing a v4l2_fmtdesc structure with the pixelformat field set to zero, which is not correct. The driver detects this and emits the warning message.

If you are interested, the warning comes from function v4l_fill_fmtdesc in https://github.com/torvalds/linux/blob/master/drivers/media/v4l2-core/v4l2-ioctl.c

So, this is not a kernel issue, it's some application that is misusing the ioctl command VIDIOC_ENUM_FMT

4
  • Thanks for such a concise answer. I wonder what program is doing this. I had not intentionally started anything that used the camera though I did capture the screen several times (including an external monitor.) Repeating that does not provoke the report. I suppose some application could be initializing the web camera and issuing the ioctl. I wonder how I would go about identifying the culprit.
    – HankB
    Mar 27, 2019 at 14:16
  • one can use strace to trace programs and find out what they are doing, for example: strace -e trace=ioctl cheese Mar 27, 2019 at 16:28
  • Hey Colin, I don't think your answer is correct. It's the driver which fills in the fixelformat field when doing an ioctl call with VIDIOC_ENUM_FMT... See e.g. vidioc_enum_fmt_vid_cap (in github.com/torvalds/linux/blob/master/drivers/staging/most/…) which is called from v4l_enum_fmt. We're reading out the pixelformat this way for most cameras, only a few have those 0 pixel format issue.
    – jaques-sam
    Jan 6, 2022 at 15:43
  • I think you are correct. Jan 6, 2022 at 17:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .