Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

22.04 images: fix v4l dkms compilation issues #148

Merged
merged 11 commits into from
Sep 30, 2024

Conversation

aerickson
Copy link
Member

@aerickson aerickson commented Sep 18, 2024

Seems to be related to the new 6.8.0 kernel. See https://www.debugpoint.com/linux-kernel-6-8/.

strlcpy removed in kernel 6.8.0

    googlecompute.gw_fxci_gcp_l3_gui: Secure Boot not enabled on this system.
    googlecompute.gw_fxci_gcp_l3_gui: Done.
    googlecompute.gw_fxci_gcp_l3_gui:
    googlecompute.gw_fxci_gcp_l3_gui: v4l2loopback.ko:
    googlecompute.gw_fxci_gcp_l3_gui: Running module version sanity check.
    googlecompute.gw_fxci_gcp_l3_gui:  - Original module
    googlecompute.gw_fxci_gcp_l3_gui:  - Installation
    googlecompute.gw_fxci_gcp_l3_gui:    - Installing to /lib/modules/6.5.0-1025-gcp/updates/dkms/
    googlecompute.gw_fxci_gcp_l3_gui:
    googlecompute.gw_fxci_gcp_l3_gui: depmod..........
    googlecompute.gw_fxci_gcp_l3_gui: Building initial module for 6.8.0-1015-gcp
    googlecompute.gw_fxci_gcp_l3_gui: Error! Bad return status for module build on kernel: 6.8.0-1015-gcp (x86_64)
    googlecompute.gw_fxci_gcp_l3_gui: Consult /var/lib/dkms/v4l2loopback/0.12.7/build/make.log for more information.
    googlecompute.gw_fxci_gcp_l3_gui: dpkg: error processing package v4l2loopback-dkms (--configure):
    googlecompute.gw_fxci_gcp_l3_gui:  installed v4l2loopback-dkms package post-installation script subprocess returned error exit status 10
    googlecompute.gw_fxci_gcp_l3_gui: Setting up libv4l2rds0:amd64 (1.22.1-2build1) ...
    googlecompute.gw_fxci_gcp_l3_gui: Setting up v4l-utils (1.22.1-2build1) ...
    googlecompute.gw_fxci_gcp_l3_gui: Setting up v4l2loopback-utils (0.12.7-2ubuntu2~22.04.1) ...
    googlecompute.gw_fxci_gcp_l3_gui: Processing triggers for man-db (2.10.2-1) ...
    googlecompute.gw_fxci_gcp_l3_gui: Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
    googlecompute.gw_fxci_gcp_l3_gui: Errors were encountered while processing:
    googlecompute.gw_fxci_gcp_l3_gui:  v4l2loopback-dkms
    googlecompute.gw_fxci_gcp_l3_gui: needrestart is being skipped since dpkg has failed
cat /var/lib/dkms/v4l2loopback/0.12.7/build/make.log
DKMS make.log for v4l2loopback-0.12.7 for kernel 6.8.0-1015-gcp (x86_64)
Wed Sep 18 03:52:53 UTC 2024
Building v4l2-loopback driver...
make -C /lib/modules/6.8.0-1015-gcp/build M=/var/lib/dkms/v4l2loopback/0.12.7/build modules CC=x86_64-linux-gnu-gcc-12
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-1015-gcp'
  CC [M]  /var/lib/dkms/v4l2loopback/0.12.7/build/v4l2loopback.o
/var/lib/dkms/v4l2loopback/0.12.7/build/v4l2loopback.c: In function ‘vidioc_querycap’:
/var/lib/dkms/v4l2loopback/0.12.7/build/v4l2loopback.c:727:9: error: implicit declaration of function ‘strlcpy’; did you mean ‘strscpy’? [-Werror=implicit-function-declaration]
  727 |         strlcpy(cap->driver, "v4l2 loopback", sizeof(cap->driver));
      |         ^~~~~~~
      |         strscpy
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/v4l2loopback/0.12.7/build/v4l2loopback.o] Error 1
make[2]: *** [/usr/src/linux-headers-6.8.0-1015-gcp/Makefile:1925: /var/lib/dkms/v4l2loopback/0.12.7/build] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-1015-gcp'
make: *** [Makefile:43: v4l2loopback.ko] Error 2

@aerickson
Copy link
Member Author

Build failed at 1a56ccf also.

@aerickson aerickson changed the title pin jammy to an older 22.04.4 image (vs 24.04.5 latest image) fix v4l dkms compilation issues Sep 18, 2024
@aerickson aerickson changed the title fix v4l dkms compilation issues 22.04 images: fix v4l dkms compilation issues Sep 18, 2024
@aerickson
Copy link
Member Author

c084ca4 failed.

sudo apt-get -y reinstall linux-headers-gcp linux-headers-uname -r ${pkg_name} is where 6.8.0 is getting installed, so the 55-downgrade didn't uninstall anything.

@aerickson
Copy link
Member Author

Success at adfa5ff.

@aerickson
Copy link
Member Author

Building the following at adfa5ff (#146 merged into master, with breakage fixes in #148).

l3 x86:
monopacker build gw_fxci_gcp_l3_gui --secrets_file real_secrets_l3.yaml --packer-args '-on-error=ask' produced gw-fxci-gcp-l3-gui-googlecompute-2024-09-18t05-46-31z.

Building the following at 2633d95.

l1 arm64:
monopacker build gw_fxci_gcp_l1_arm64_gui --secrets_file real_secrets_l1.yaml --packer-args '-on-error=ask' produced gw-fxci-gcp-l1-arm64-gui-googlecompute-2024-09-18t14-57-52z.

l3 arm64:
monopacker build gw_fxci_gcp_l3_arm64_gui --secrets_file real_secrets_l3.yaml --packer-args '-on-error=ask' produced gw-fxci-gcp-l3-arm64-gui-googlecompute-2024-09-18t19-02-58z.

@aerickson
Copy link
Member Author

mozilla-releng/fxci-config#106 created test pools that use these images.

It's hard to use worker-override to target these pools (no alias in taskcluster/config.yml). The prod queues that use these image varieties seem to be for builds only.

Testing via a basic TC task (sleep 60):

l3 arm64
https://firefox-ci-tc.services.mozilla.com/tasks/LBmTVGFoSUaZV88zkcd90g

l3 x86
https://firefox-ci-tc.services.mozilla.com/tasks/dJn4ON-0TQGQa29c7GhZbg

l1 arm64
https://firefox-ci-tc.services.mozilla.com/tasks/A74KGAYXRzeOKr_S8Ky76A

All 3 have passed.

@aerickson aerickson marked this pull request as ready for review September 27, 2024 17:13
@aerickson aerickson requested a review from a team September 27, 2024 17:13
@aerickson
Copy link
Member Author

Images are live. Ready for review.

@aerickson aerickson merged commit 8f0647d into mozilla-platform-ops:main Sep 30, 2024
2 checks passed
@aerickson aerickson deleted the 2204_image_fixing_0924 branch September 30, 2024 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant