← Back to team overview

canonical-ubuntu-qa team mailing list archive

[Bug 2009436] Re: dkms modules are not built anymore for linux-kvm

 

Hi Paride. The error you mention is in both logs and I don't think it's
the issue here.

By accident, I discovered that when the new kernel is submitted to proposed and adt test is triggered, the result is as expected.
But then, is a user retries manually the test (like I did) then the status is PASS (supperficial).

After looking at the artifacts between the two triggers (I attached them but you can also check them here https://autopkgtest.ubuntu.com/packages/d/digimend-dkms/jammy/amd64 -- version 5.15.0.1030), I noticed that ADT_TEST_TRIGGERS is different.
1. When the build is done, ADT_TEST_TRIGGERS is `linux-meta-kvm/5.15.0.1030.26 linux-kvm/5.15.0-1030.35 linux-signed-kvm/5.15.0-1030.35`
2. When the build is ignored, ADT_TEST_TRIGGERS is `linux-meta-kvm/5.15.0.1030.26`.

If I check the code in /usr/lib/dkms/dkms-autopkgtest, right after
`Testing binary package digimend-dkms`, the last line we see in both
logs:

    echo "I: Testing binary package $pkg"

    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

I think the issue is in the switch case in the for loop. When build is ignored, it never gets passed that because
abistem=$(echo $kver | sed 's/-[a-z]*$//') is 5.15.0-1030. Notice the difference, it is not 5.15.0.1030 therefore when ADT_TEST_TRIGGERS is only linux-meta-kvm/5.15.0.1030.26 it won't match.

Do you know why ADT_TEST_TRIGGERS is different when a manual trigger is
done?


** Attachment added: "digimend-neutral-artifacts.tar.gz"
   https://bugs.launchpad.net/ubuntu/+source/autopkgtest/+bug/2009436/+attachment/5654164/+files/digimend-neutral-artifacts.tar.gz

-- 
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:
  Incomplete
Status in linux-kvm package in Ubuntu:
  New

Bug description:
  Since 23th of Feb, some adt test for dkms packages (digimend-dkms is an example) started to pass even though it should fail.
  Before, the test would fail during build, because CONFIG_USB=n.

  Logs from last time it failed:
  https://autopkgtest.ubuntu.com/results/autopkgtest-jammy/jammy/amd64/d/digimend-dkms/20230213_171044_032fa@/log.gz

  Logs where test passes.
  https://autopkgtest.ubuntu.com/results/autopkgtest-jammy/jammy/amd64/d/digimend-dkms/20230301_110606_17e6d@/log.gz

  Could not reproduce it locally, in a vm, a simple sudo apt install digimend-dkms will fail during build.
  ```
  I: Testing binary package digimend-dkms
  I: Trying to build digimend/10 for 5.15.0-1028-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-1028-kvm KVERSION=5.15.0-1028-kvm...(bad exit status: 2)
  Error! Bad return status for module build on kernel: 5.15.0-1028-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-1028-kvm
  ========== /var/lib/dkms/digimend/10/build/make.log ==========
  DKMS make.log for digimend-10 for kernel 5.15.0-1028-kvm (x86_64)
  Sat Jan 28 00:05:19 UTC 2023
  make -C /lib/modules/5.15.0-1028-kvm/build M=/var/lib/dkms/digimend/10/build modules
  make[1]: Entering directory '/usr/src/linux-headers-5.15.0-1028-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:1819: modules] Error 2
  make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-1028-kvm'
  make: *** [Makefile:25: modules] Error 2
  ====================
  ./digimend/10/build/make.log
  autopkgtest [00:05:23]: test dkms-autopkgtest: -----------------------]
  dkms-autopkgtest     FAIL non-zero exit status 1
  autopkgtest [00:05:24]: test dkms-autopkgtest:  - - - - - - - - - - results - - - - - - - - - -
  autopkgtest [00:05:24]: @@@@@@@@@@@@@@@@@@@@ summary
  dkms-autopkgtest     FAIL non-zero exit status 1
  ```

  Test fails with exitcode 1, and autopkgtest return 4 as exitcode.

  This happens in multiple modules (oss4, rtl8812au), they are supposed to fail because a config is not enabled, but now they pass (superficially). This may affect other derivatives as well that have some config options disabled.
  To be investigated.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/autopkgtest/+bug/2009436/+subscriptions



References