** Changed in: autopkgtest (Ubuntu Jammy) Status: New => Invalid ** Changed in: autopkgtest (Ubuntu Kinetic) Status: New => Invalid
** Changed in: linux-kvm (Ubuntu Jammy) Status: New => Invalid ** Changed in: linux-kvm (Ubuntu Kinetic) Status: New => Invalid -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to dkms in Ubuntu. https://bugs.launchpad.net/bugs/2009436 Title: dkms modules are not built anymore for linux-kvm Status in autopkgtest package in Ubuntu: Invalid Status in dkms package in Ubuntu: New Status in linux-kvm package in Ubuntu: Invalid Status in autopkgtest source package in Jammy: Invalid Status in dkms source package in Jammy: New Status in linux-kvm source package in Jammy: Invalid Status in autopkgtest source package in Kinetic: Invalid Status in dkms source package in Kinetic: New Status in linux-kvm source package in Kinetic: Invalid Bug description: SRU Justification [Impact] Some dkms modules are not built anymore when a retry is triggred from adt matrix page. It was noticed because these modules previously failed during build (because a config options is disabled) but now they pass (artificial pass). Affected modules: 1. digimend-dkms 2. oss4 3. rtl8812au 4. rtl8812ce Looking at digimend-dkms for jammy:linux-kvm, first time the test was correct (it failed) was when the new kernel was just pushed to proposed and adt testing was triggered. When a manual retry was done, it passed because build was ignored. Looking at the artifacts (attached for both cases), ADT_TEST_TRIGGERS differs: 1. when build is triggered, ADT_TEST_TRIGGERS=linux-meta-kvm/5.15.0.1030.26 linux-kvm/5.15.0-1030.35 linux-signed-kvm/5.15.0-1030.35 logs https://autopkgtest.ubuntu.com/results/autopkgtest-jammy/jammy/amd64/d/digimend-dkms/20230213_171044_032fa@/log.gz 2. when build is not triggered, ADT_TEST_TRIGGERS=linux-meta-kvm/5.15.0.1030.26 logs: https://autopkgtest.ubuntu.com/results/autopkgtest-jammy/jammy/amd64/d/digimend-dkms/20230301_110606_17e6d@/log.gz Last log line present in both cases is: "I: Testing binary package $pkg". Looking at dkms: debian/scripts/dkms-autopkgtest After that line and the line where build is triggered the following code: dkms_pkg=$(bash -c ". $dkms_conf > /dev/null; echo \$PACKAGE_NAME" 2>/dev/null) dkms_ver=$(bash -c ". $dkms_conf > /dev/null; echo \$PACKAGE_VERSION" 2>/dev/null) for k in /lib/modules/*/build do test -d "$k" || continue kver="${k%/build}" kver="${kver#/lib/modules/}" # If any linux-meta is in triggers, only test abistems that # match triggers otherwise continue. This helps integration # with adt-matrix which specifically requests test results # against each individual linux-meta and tracks unique results # per kernel abi. abistem=$(echo $kver | sed 's/-[a-z]*$//') ## abistem is 5.15.0-130 case "${ADT_TEST_TRIGGERS-}" in *linux-meta*) case "$ADT_TEST_TRIGGERS" in *"$abistem"*) ;; *) continue ;; esac esac echo "I: Trying to build $dkms_pkg/$dkms_ver for $kver" What happens here is that it never gets passed the switch case and build is not triggered when ADT_TEST_TRIGGERS consists of linux-meta only, because abistem=<kernel_version>-<abi_version>, but meta version=<kernel_version>.<abi_version>. Notice the dot instead of the dash. This justifies why the module is built when ADT_TEST_TRIGGERS=linux- meta-kvm/5.15.0.1030.26 linux-kvm/5.15.0-1030.35 linux-signed- kvm/5.15.0-1030.35, but not when ADT_TEST_TRIGGERS=linux-meta- kvm/5.15.0.1030.26 [Fix] Add an extra check for meta_version in that switch case statement. [Testcase] 1. Tested locally with ADT_TEST_TRIGGERS=linux-meta.. before fix I: linux-headers-virtual I: Testing binary package digimend-dkms autopkgtest [11:14:45]: test dkms-autopkgtest: -----------------------] autopkgtest [11:14:46]: test dkms-autopkgtest: - - - - - - - - - - results - - - - - - - - - - dkms-autopkgtest PASS autopkgtest [11:14:47]: @@@@@@@@@@@@@@@@@@@@ summary dkms-autopkgtest PASS qemu-system-x86_64: terminating on signal 15 from pid 15111 (/usr/bin/python3) 2. Tested locally with ADT_TEST_TRIGGERS=linux-meta.. with the fix I: Testing binary package digimend-dkms I: Trying to build digimend/10 for 5.15.0-1029-kvm Creating symlink /var/lib/dkms/digimend/10/source -> /usr/src/digimend-10 Kernel preparation unnecessary for this kernel. Skipping... Building module: cleaning build area... make -j1 KERNELRELEASE=5.15.0-1029-kvm KVERSION=5.15.0-1029-kvm...(bad exit status: 2) ERROR (dkms apport): kernel package linux-headers-5.15.0-1029-kvm is not supported Error! Bad return status for module build on kernel: 5.15.0-1029-kvm (x86_64) Consult /var/lib/dkms/digimend/10/build/make.log for more information. E: digimend/10 failed to build for 5.15.0-1029-kvm ========== /var/lib/dkms/digimend/10/build/make.log ========== DKMS make.log for digimend-10 for kernel 5.15.0-1029-kvm (x86_64) Wed Mar 15 11:20:05 CET 2023 make -C /lib/modules/5.15.0-1029-kvm/build M=/var/lib/dkms/digimend/10/build modules make[1]: Entering directory '/usr/src/linux-headers-5.15.0-1029-kvm' CC [M] /var/lib/dkms/digimend/10/build/hid-kye.o CC [M] /var/lib/dkms/digimend/10/build/hid-uclogic-core.o CC [M] /var/lib/dkms/digimend/10/build/hid-uclogic-rdesc.o CC [M] /var/lib/dkms/digimend/10/build/hid-uclogic-params.o /var/lib/dkms/digimend/10/build/hid-uclogic-params.c: In function ‘uclogic_params_init’: /var/lib/dkms/digimend/10/build/hid-uclogic-params.c:1147:20: warning: this statement may fall through [-Wimplicit-fallthrough] 1147 | if (bNumInterfaces != 3) { | ^ /var/lib/dkms/digimend/10/build/hid-uclogic-params.c:1165:9: note: here 1165 | case VID_PID(USB_VENDOR_ID_HUION, | ^~~~ LD [M] /var/lib/dkms/digimend/10/build/hid-uclogic.o CC [M] /var/lib/dkms/digimend/10/build/hid-polostar.o CC [M] /var/lib/dkms/digimend/10/build/hid-viewsonic.o MODPOST /var/lib/dkms/digimend/10/build/Module.symvers ERROR: modpost: "usb_string" [/var/lib/dkms/digimend/10/build/hid-uclogic.ko] undefined! ERROR: modpost: "usb_control_msg" [/var/lib/dkms/digimend/10/build/hid-uclogic.ko] undefined! ERROR: modpost: "usb_hid_driver" [/var/lib/dkms/digimend/10/build/hid-uclogic.ko] undefined! make[2]: *** [scripts/Makefile.modpost:133: /var/lib/dkms/digimend/10/build/Module.symvers] Error 1 make[2]: *** Deleting file '/var/lib/dkms/digimend/10/build/Module.symvers' make[1]: *** [Makefile:1821: modules] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-1029-kvm' make: *** [Makefile:25: modules] Error 2 ==================== ./digimend/10/build/make.log autopkgtest [11:20:08]: test dkms-autopkgtest: -----------------------] autopkgtest [11:20:09]: test dkms-autopkgtest: - - - - - - - - - - results - - - - - - - - - - dkms-autopkgtest FAIL non-zero exit status 1 autopkgtest [11:20:10]: @@@@@@@@@@@@@@@@@@@@ summary dkms-autopkgtest FAIL non-zero exit status 1 qemu-system-x86_64: terminating on signal 15 from pid 16171 (/usr/bin/python3) [Regression potential] We will see now failures instead of passes, but for the modules listed above, fixes are in the making. [Note] Not sure why ADT_TEST_TRIGGERS is different for manual retries vs when test is automated triggered when the new kernel is in proposed. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/autopkgtest/+bug/2009436/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp