v4l2loopback 10.0-1ubuntu1 ADT test failure with linux 5.0.0-14-generic

Bug #1828615 reported by Connor Kuehl on 2019-05-10
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
v4l2loopback (Ubuntu)
Medium
Connor Kuehl
Bionic
Medium
Connor Kuehl

Bug Description

[ Impact ]

The DKMS package fails to install on kernels based on 5.0; specifically noticed in the Bionic HWE Edge kernel.

[ Test Case ]

Install the v4l2loopback-dkms package with a 5.0 kernel. The package should install without any errors.

[ The Problem ]

"do_gettimeofday" was deprecated and removed in the 5.0 kernels, so the package will not compile since the function it requires does not exist.

[ Proposed Fix ]

Port the following patch from the package developers which replaces calls to the deprecated API with appropriate wrapper functions: https://github.com/umlaeute/v4l2loopback/commit/afe0b233070d7ca5d6df83c5f2723d276dcd287d.patch

[ Testing ]

I tested this install process (using the .debdiff in comment #1) for both 4.15.0-49-generic and 5.0.0-14-generic to test for regressions since the changes introduced by this patch are not conditionally compiled.

- Create a Bionic 18.04 VM
- Install the Bionic Linux HWE Edge kernel from -proposed or install the built .debs located here: https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa/+packages?field.name_filter=linux-hwe-edge&field.status_filter=published&field.series_filter=bionic
- Try installing v4l2loopback-dkms with apt (or you can pull the sources with "pull-lp-source v4l2loopback bionic" and build with "debuild -b -uc -us"
- Confirm that installation fails for the 5.0 kernel (it will succeed for 4.15)
- Pull the sources with "pull-lp-source v4l2loopback bionic"
- Apply the debdiff "debdiff-apply < path-to-diff-in-this-comment.debdiff"
- Build the package "debuild -b -uc -us"
- Install the .deb produced from the previous step "sudo dpkg --install path-to-deb.deb"
- Verify the installation completed successfully. You can also verify the output of "sudo dkms status" is correct.

[ Regression Potential ]

I think regression potential is low if the proposed fix is accepted. The function calls that supplant the deprecated ones have been there since before kernel 4.15 (of which Bionic is based upon).

    amd64: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic/bionic/amd64/v/v4l2loopback/20190429_215733_875ac@/log.gz
    arm64: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic/bionic/arm64/v/v4l2loopback/20190429_220415_875ac@/log.gz
    i386: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic/bionic/i386/v/v4l2loopback/20190429_215750_875ac@/log.gz
    ppc64el: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic/bionic/ppc64el/v/v4l2loopback/20190429_215314_875ac@/log.gz
    s390x: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic/bionic/s390x/v/v4l2loopback/20190429_214920_875ac@/log.gz

Connor Kuehl (connork) wrote :

.debdiff attached to this comment.

To fix this, I've backported this patch: https://github.com/umlaeute/v4l2loopback/commit/afe0b233070d7ca5d6df83c5f2723d276dcd287d.patch

No context adjustments were required.

[ Testing ]

I tested this install process for both 4.15.0-49-generic and 5.0.0-14-generic to test for regressions since the changes introduced by this patch are not conditionally compiled.

- Create a Bionic 18.04 VM
- Install the Bionic Linux HWE Edge kernel from -proposed or install the built .debs located here: https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa/+packages?field.name_filter=linux-hwe-edge&field.status_filter=published&field.series_filter=bionic
- Try installing v4l2loopback-dkms with apt (or you can pull the sources with "pull-lp-source v4l2loopback bionic" and build with "debuild -b -uc -us"
- Confirm that installation fails for the 5.0 kernel (it will succeed for 4.15)
- Pull the sources with "pull-lp-source v4l2loopback bionic"
- Apply the debdiff "debdiff-apply < path-to-diff-in-this-comment.debdiff"
- Build the package "debuild -b -uc -us"
- Install the .deb produced from the previous step "sudo dpkg --install path-to-deb.deb"
- Verify the installation completed successfully. You can also verify the output of "sudo dkms status" is correct.

Changed in v4l2loopback (Ubuntu):
status: New → In Progress

The attachment "v4l2loopback_0.10.0-1ubuntu1.1.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Connor Kuehl (connork) on 2019-05-10
description: updated
description: updated
Simon Quigley (tsimonq2) wrote :

Could you also please file a bug in Debian, so we can pull the change down from there?

Mathew Hodson (mhodson) on 2019-05-25
Changed in v4l2loopback (Ubuntu):
importance: Undecided → Medium

Hello Connor, or anyone else affected,

Accepted v4l2loopback into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/v4l2loopback/0.10.0-1ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in v4l2loopback (Ubuntu):
status: In Progress → Fix Released
Changed in v4l2loopback (Ubuntu Bionic):
status: New → Fix Committed
tags: added: verification-needed verification-needed-bionic
Connor Kuehl (connork) wrote :

The package in -proposed (0.10.0-1ubuntu1.1) installs correctly without any compilation errors. Updating the verification tag on this bug.

tags: added: verification-done-bionic
removed: verification-needed-bionic
Connor Kuehl (connork) wrote :

I forgot to verify this for 4.15 in addition to 5.0. The package in -proposed (0.10.0-1ubuntu1.1) installs correctly without any compilation errors for 4.15 and 5.0.

I've attached the log of the installation while running a 4.15 kernel. The 5.0 kernel is also installed on this VM so it similarly compiles for that one as well (as shown in the previous comment).

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package v4l2loopback - 0.10.0-1ubuntu1.1

---------------
v4l2loopback (0.10.0-1ubuntu1.1) bionic; urgency=medium

  * Fix build for kernel 5.0 (LP: #1828615)
    - debian/patches/0002-Replace-do_gettimeofday-with-v4l2_get_timestamp.patch

 -- Connor Kuehl <email address hidden> Fri, 10 May 2019 11:32:46 -0700

Changed in v4l2loopback (Ubuntu Bionic):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for v4l2loopback has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Connor Kuehl (connork) on 2019-08-05
Changed in v4l2loopback (Ubuntu Bionic):
importance: Undecided → Medium
assignee: nobody → Connor Kuehl (connork)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers