canonical-ubuntu-qa team mailing list archive
-
canonical-ubuntu-qa team
-
Mailing list archive
-
Message #04901
[Bug 2009436] Re: dkms modules are not built anymore for linux-kvm
Ubuntu 22.10 (Kinetic Kudu) has reached end of life, so this bug will
not be fixed for that specific release.
** Changed in: dkms (Ubuntu Kinetic)
Status: New => Won't Fix
--
You received this bug notification because you are a member of
Canonical's Ubuntu QA, which is subscribed to autopkgtest 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:
Won't Fix
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
References