Bug 2180107
Summary: | videodev crash "Unknown pixelformat 0x00000000" | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | opotonil | ||||||
Component: | kernel | Assignee: | Kernel Maintainer List <kernel-maint> | ||||||
Status: | CLOSED UPSTREAM | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | unspecified | ||||||||
Version: | 37 | CC: | acaringi, adscvr, airlied, alciregi, bskeggs, hdegoede, hpa, jarodwilson, jglisse, josef, kernel-maint, lgoncalv, linville, masami256, mchehab, ptalbert, steved | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | x86_64 | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2023-06-11 19:00:23 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: | |||||||||
Attachments: |
|
Description
opotonil
2023-03-20 17:55:03 UTC
On linux 6.2.7 I see the warning from my first post and: # journalctl -b | grep "Unknown video format" mar 19 13:18:18 desktop kernel: uvcvideo 2-7:1.3: Unknown video format 52564e49-2d90-4a58-920b-773f1f2c556b mar 19 13:18:18 desktop kernel: uvcvideo 2-7:1.3: Unknown video format 49524e49-2d90-4a58-920b-773f1f2c556b mar 19 13:18:18 desktop kernel: uvcvideo 2-7:1.3: Unknown video format 494c4552-1314-f943-a75a-ee6bbf012e23 On linux 6.1.12 I don't see the warning, I only see: # journalctl -b | grep "Unknown video format" mar 21 19:49:17 desktop kernel: uvcvideo 2-7:1.3: Unknown video format 52564e49-2d90-4a58-920b-773f1f2c556b mar 21 19:49:17 desktop kernel: uvcvideo 2-7:1.3: Unknown video format 49524e49-2d90-4a58-920b-773f1f2c556b mar 21 19:49:17 desktop kernel: uvcvideo 2-7:1.3: Unknown video format 494c4552-1314-f943-a75a-ee6bbf012e23 Maybe on linux 6.1.12 if "uvcvideo" module param "trace" is 0 don't show warnings (for me, this seems the correct way). And some change between linux 6.1.12 and linux 6.1.18 makes it don't respect the "uvcvideo" module param "trace". The changelog of linux 6.1.16 show quite work on "v2l". Seems related: https://bugzilla.redhat.com/show_bug.cgi?id=2179542 I did gets time to determine kernel between 6.1.12 and 6.1.18 that introduced the issue. The issue was introduced by kernel 6.1.18. I think the culprit commit is [1] or maybe [2]. [1] https://github.com/torvalds/linux/commit/50459f103edfe47c9a599d766a850ef6014936c5 [2] https://github.com/torvalds/linux/commit/41ddb251c68ac75c101d3a50a68c4629c9055e4c After git bisect the culprit is: commit 2c8ea08b86a5789449c5eb3da23e3864bb58c16a Author: Laurent Pinchart <laurent.pinchart> Date: Tue Nov 15 18:44:29 2016 +0200 media: uvcvideo: Remove format descriptions [ Upstream commit 50459f103edfe47c9a599d766a850ef6014936c5 ] The V4L2 core overwrites format descriptions in v4l_fill_fmtdesc(), there's no need to manually set the descriptions in the driver. This prepares for removal of the format descriptions from the uvc_fmts table. Unlike V4L2, UVC makes a distinction between the SD-DV, SDL-DV and HD-DV formats. It also indicates whether the DV format uses 50Hz or 60Hz. This information is parsed by the driver to construct a format name string that is printed in a debug message, but serves no other purpose as V4L2 has a single V4L2_PIX_FMT_DV pixel format that covers all those cases. As the information is available in the UVC descriptors, and thus accessible to users with lsusb if they really care, don't log it in a debug message and drop the format name string to simplify the code. Signed-off-by: Laurent Pinchart <laurent.pinchart> Reviewed-by: Ricardo Ribalda <ribalda> Reviewed-by: Michael Grzeschik <m.grzeschik> Signed-off-by: Sasha Levin <sashal> drivers/media/usb/uvc/uvc_driver.c | 24 ++---------------------- drivers/media/usb/uvc/uvc_v4l2.c | 2 -- drivers/media/usb/uvc/uvcvideo.h | 2 -- 3 files changed, 2 insertions(+), 26 deletions(-) Hi, Thank you for reporting this. Recently, since the description is removed from uvc driver, the description will not be created by the uvc itself. v4l_fill_fmtdesc() already provides the information for the description but the uvc camera that returns the "unknown format" will trigger the warning message that you see. The current implementation calls WARN() when a description can't be found and then the warning messages will be shown. I made a new build to reduce the severity of the message and you could test it. :) https://koji.fedoraproject.org/koji/taskinfo?taskID=99080890 opotonil, thank you for the bisect, that is super helpful and I know that doing a bisect is quite a bit of work. Kate thank you for preparing a kernel for opotonil to test. opotonil, you can find x86_64 rpms from Kate's build here: https://koji.fedoraproject.org/koji/taskinfo?taskID=99081008 And here are some instructions for installing a kernel directly from koji (Fedora's build system): https://fedorapeople.org/~jwrdegoede/kernel-test-instructions.txt Created attachment 1953999 [details]
Kernel logs - Solved
Thank Kate. I have attached the kernel logs, this is enough for me: [ 15.924132] video4linux video2: Unknown pixelformat 0x00000000 [ 15.924140] video4linux video2: Unknown pixelformat 0x00000000 [ 15.924172] video4linux video2: Unknown pixelformat 0x00000000 [ 15.924943] video4linux video2: Unknown pixelformat 0x00000000 [ 15.924949] video4linux video2: Unknown pixelformat 0x00000000 [ 15.924983] video4linux video2: Unknown pixelformat 0x00000000 Thanks Hans, but all hard work was done by @loqs from Arch Linux [1] I understand the patch will be provided to "upstream" so that Arch Linux and others can also benefit, so I don't need to report the problem to upstream, right? [1] https://bugs.archlinux.org/task/77917 (In reply to opotonil from comment #7) Hi opotonil, Thank you for testing this patch :) > Thank Kate. I have attached the kernel logs, this is enough for me: > > [ 15.924132] video4linux video2: Unknown pixelformat 0x00000000 > [ 15.924140] video4linux video2: Unknown pixelformat 0x00000000 > [ 15.924172] video4linux video2: Unknown pixelformat 0x00000000 > [ 15.924943] video4linux video2: Unknown pixelformat 0x00000000 > [ 15.924949] video4linux video2: Unknown pixelformat 0x00000000 > [ 15.924983] video4linux video2: Unknown pixelformat 0x00000000 > > Thanks Hans, but all hard work was done by @loqs from Arch Linux [1] > > I understand the patch will be provided to "upstream" so that Arch Linux and > others can also benefit, so I don't need to report the problem to upstream, > right? You are right. We are working on getting it upstream. This ticket was also mentioned in the commit message. > > [1] https://bugs.archlinux.org/task/77917 Hi Kate and Hans, Fixed in version 6.3.7 after merging the patch: https://patchwork.kernel.org/project/linux-media/patch/20230506065809.24645-1-laurent.pinchart@ideasonboard.com/ I can see it currently in testing: https://src.fedoraproject.org/rpms/kernel So closing. |