#1010883 dkms: autopkgtest mixes headers from sid and testing

Package:
dkms
Source:
dkms
Submitter:
Paul Gevers
Date:
2022-06-02 07:42:03 UTC
Severity:
serious
Tags:
#1010883#5
Date:
2022-05-12 07:57:01 UTC
From:
To:
Dear maintainer(s),

With a recent upload of dkms the autopkgtest of nvidia-graphics-drivers
fails in testing when that autopkgtest is run with the binary packages
of dkms from unstable. It passes when run with only packages from
testing. In tabular form:

                         pass            fail
dkms                    from testing    3.0.3-1
nvidia-graphics-drivers from testing    470.103.01-3
all others              from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of dkms to testing
[1]. Due to the nature of this issue, I filed this bug report against
both packages. Can you please investigate the situation and reassign the
bug to the right package?

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=dkms

https://ci.debian.net/data/autopkgtest/testing/arm64/n/nvidia-graphics-drivers/21589789/log.gz

I: Removing binary package nvidia-kernel-dkms, to get clean state
I: Installing binary package nvidia-kernel-dkms
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
   glx-alternative-mesa glx-alternative-nvidia glx-diversions
   nvidia-alternative nvidia-installer-cleanup nvidia-kernel-common
   nvidia-kernel-support nvidia-modprobe update-glx
Suggested packages:
   libgl1-mesa-glx | libgl1 nvidia-driver | nvidia-driver-any
Recommended packages:
   nvidia-driver | libcuda1
The following NEW packages will be installed:
   glx-alternative-mesa glx-alternative-nvidia glx-diversions
   nvidia-alternative nvidia-installer-cleanup nvidia-kernel-common
   nvidia-kernel-dkms nvidia-kernel-support nvidia-modprobe update-glx
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 25.9 MB of archives.
After this operation, 50.2 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian testing/contrib arm64 update-glx
arm64 1.2.1 [10.6 kB]
Get:2 http://deb.debian.org/debian testing/contrib arm64
glx-alternative-mesa arm64 1.2.1 [9912 B]
Get:3 http://deb.debian.org/debian testing/contrib arm64
nvidia-installer-cleanup arm64 20220217+1 [19.4 kB]
Get:4 http://deb.debian.org/debian testing/contrib arm64 glx-diversions
arm64 1.2.1 [12.6 kB]
Get:5 http://deb.debian.org/debian testing/contrib arm64
glx-alternative-nvidia arm64 1.2.1 [10.9 kB]
Get:6 http://deb.debian.org/debian testing/non-free arm64
nvidia-alternative arm64 470.103.01-3 [240 kB]
Get:7 http://deb.debian.org/debian testing/contrib arm64
nvidia-kernel-common arm64 20220217+1 [10.9 kB]
Get:8 http://deb.debian.org/debian testing/contrib arm64 nvidia-modprobe
arm64 510.68.02-1 [20.5 kB]
Get:9 http://deb.debian.org/debian testing/non-free arm64
nvidia-kernel-support arm64 470.103.01-3 [239 kB]
Get:10 http://deb.debian.org/debian testing/non-free arm64
nvidia-kernel-dkms arm64 470.103.01-3 [25.3 MB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 25.9 MB in 2s (16.5 MB/s)
Selecting previously unselected package update-glx.
(Reading database ... (Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 29721 files and directories currently installed.)
Preparing to unpack .../update-glx_1.2.1_arm64.deb ...
Unpacking update-glx (1.2.1) ...
Selecting previously unselected package glx-alternative-mesa.
Preparing to unpack .../glx-alternative-mesa_1.2.1_arm64.deb ...
Unpacking glx-alternative-mesa (1.2.1) ...
Selecting previously unselected package nvidia-installer-cleanup.
Preparing to unpack .../nvidia-installer-cleanup_20220217+1_arm64.deb ...
Unpacking nvidia-installer-cleanup (20220217+1) ...
Setting up nvidia-installer-cleanup (20220217+1) ...
Selecting previously unselected package glx-diversions.
(Reading database ... (Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 29866 files and directories currently installed.)
Preparing to unpack .../0-glx-diversions_1.2.1_arm64.deb ...
Unpacking glx-diversions (1.2.1) ...
Selecting previously unselected package glx-alternative-nvidia.
Preparing to unpack .../1-glx-alternative-nvidia_1.2.1_arm64.deb ...
Unpacking glx-alternative-nvidia (1.2.1) ...
Selecting previously unselected package nvidia-alternative.
Preparing to unpack .../2-nvidia-alternative_470.103.01-3_arm64.deb ...
Unpacking nvidia-alternative (470.103.01-3) ...
Selecting previously unselected package nvidia-kernel-common.
Preparing to unpack .../3-nvidia-kernel-common_20220217+1_arm64.deb ...
Unpacking nvidia-kernel-common (20220217+1) ...
Selecting previously unselected package nvidia-modprobe.
Preparing to unpack .../4-nvidia-modprobe_510.68.02-1_arm64.deb ...
Unpacking nvidia-modprobe (510.68.02-1) ...
Selecting previously unselected package nvidia-kernel-support.
Preparing to unpack .../5-nvidia-kernel-support_470.103.01-3_arm64.deb ...
Unpacking nvidia-kernel-support (470.103.01-3) ...
Selecting previously unselected package nvidia-kernel-dkms.
Preparing to unpack .../6-nvidia-kernel-dkms_470.103.01-3_arm64.deb ...
Unpacking nvidia-kernel-dkms (470.103.01-3) ...
Setting up nvidia-kernel-common (20220217+1) ...
Setting up update-glx (1.2.1) ...
Setting up nvidia-modprobe (510.68.02-1) ...
Setting up glx-alternative-mesa (1.2.1) ...
Setting up glx-diversions (1.2.1) ...
Processing triggers for glx-alternative-mesa (1.2.1) ...
Setting up glx-alternative-nvidia (1.2.1) ...
Processing triggers for glx-alternative-nvidia (1.2.1) ...
Setting up nvidia-alternative (470.103.01-3) ...
Processing triggers for nvidia-alternative (470.103.01-3) ...
Setting up nvidia-kernel-support (470.103.01-3) ...
Processing triggers for nvidia-alternative (470.103.01-3) ...
Setting up nvidia-kernel-dkms (470.103.01-3) ...
autoinstall for dkms modules has been disabled.
Processing triggers for libc-bin (2.33-7) ...
Processing triggers for update-glx (1.2.1) ...
Processing triggers for glx-alternative-nvidia (1.2.1) ...
Processing triggers for glx-alternative-mesa (1.2.1) ...
Processing triggers for libc-bin (2.33-7) ...
I: Checking for missing dkms dependency by trying to deinstall dkms
dpkg: dependency problems prevent removal of dkms:
  nvidia-kernel-dkms depends on dkms (>= 2.1.0.0).

dpkg: error processing package dkms (--remove):
  dependency problems - not removing
Errors were encountered while processing:
  dkms
I: No Linux header packages are installed. Installing all available ones:
I:   linux-headers-5.17.0-1-arm64
I:   linux-headers-5.17.0-1-cloud-arm64
I:   linux-headers-5.17.0-1-rt-arm64
I:   linux-headers-arm64
I:   linux-headers-cloud-arm64
I:   linux-headers-rt-arm64
I:   linux-headers-5.17.0-2-arm64
I:   linux-headers-5.17.0-2-cloud-arm64
I:   linux-headers-5.17.0-2-rt-arm64
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  linux-headers-5.17.0-2-arm64 : Depends: linux-kbuild-5.17 (>=
5.17.6-1) but 5.17.3-1 is to be installed
  linux-headers-5.17.0-2-cloud-arm64 : Depends: linux-kbuild-5.17 (>=
5.17.6-1) but 5.17.3-1 is to be installed
  linux-headers-5.17.0-2-rt-arm64 : Depends: linux-kbuild-5.17 (>=
5.17.6-1) but 5.17.3-1 is to be installed
E: Unable to correct problems, you have held broken packages.
E: Linux headers failed to install
autopkgtest [12:19:58]: test dkms-autopkgtest

#1010883#14
Date:
2022-05-12 12:21:14 UTC
From:
To:
That dependency problem should resolve automatically once src:linux gets
decrufted.
But we should probably have a better way to enumerate "all
linux-header-* packages" in dkms-autopkgtest ... and skip cruft ...

Will think about it post-holidays ...

Andreas

#1010883#19
Date:
2022-05-17 14:16:23 UTC
From:
To:
binNMUed, the metapackges are uninstallable

The following packages have unmet dependencies:
  linux-headers-amd64 : Depends: linux-headers-5.17.0-2-amd64 (=
5.17.6-1) but it is not going to be installed

$ rmadison linux-headers-5.17.0-2-amd64
linux-headers-5.17.0-2-amd64 | 5.17.6-1+b1   | unstable   | amd64


Andreas

#1010883#24
Date:
2022-05-19 09:59:03 UTC
From:
To:
src:linux-signed-* have now been updated.

cu
Adrian

#1010883#29
Date:
2022-05-26 08:58:23 UTC
From:
To:
Control: reopen -1
Control: reassign -1 dkms 3.0.3-1
Control: retitle -1 dkms: autopkgtest mixes headers from sid and testing

As this still shows up in amd64 and after the latest kernel packages got
installable again in sid, I have another guess what might be happening
here [, but I fail to verify that locally -- not any more ;-)].

I'm concentrating on r8168 since that is a more lightweight package than
the nvidia drivers (but still in non-free)
https://ci.debian.net/data/autopkgtest/testing/amd64/r/r8168/22093828/log.gz

My guess is that apt pinning comes into play here, installing
linux-headers-5.17.0-1-amd64 from testing and
linux-headers-5.17.0-2-amd64 from sid both need linux-kbuild-5.17, but
the testing version gets selected due to a higher score after pinning,
but that is not sufficient for the headers from sid.

I tried with the following command line distilled from above log from r8168:

autopkgtest --ignore-restrictions=breaks-testbed  --no-built-binaries
--apt-upgrade --add-apt-release=unstable 
--pin-packages=unstable=src:dkms --output-dir /tmp/ci-out.$(date +%s) 
r8168 -- schroot autopkgtest-bookworm-amd64

#1010883#44
Date:
2022-05-27 08:59:12 UTC
From:
To:
Hi Andreas,

Thanks. I agree with this action.

That aligns with my suspicion that it's related to the mixing of
unstable and testing.

I *suspect* that's because ci.d.o and salsa.d.o don't use chroots but lxc.

That may be a bug in the autopkgtest chroot backend. Nearly all my
experience is with the lxc backend, so it would need investigation.

Same, feel free to report the bug.

Paul

#1010883#49
Date:
2022-05-27 14:22:46 UTC
From:
To:
Uploaded a first attempt on the fix. Works for me, let's see how ci.d.o
likes it. There are probably still corner cases to be handled ...

Andreas

#1010883#54
Date:
2022-05-27 14:42:39 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
dkms, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1010883@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andreas Beckmann <anbe@debian.org> (supplier of updated dkms package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Fri, 27 May 2022 16:12:46 +0200
Source: dkms
Architecture: source
Version: 3.0.3-2
Distribution: unstable
Urgency: medium
Maintainer: Dynamic Kernel Modules Support Team <dkms@packages.debian.org>
Changed-By: Andreas Beckmann <anbe@debian.org>
Closes: 996812 1010883
Changes:
 dkms (3.0.3-2) unstable; urgency=medium
 .
   [ Andreas Beckmann ]
   * dkms-autopkgtest: Only install linux-headers-* packages matching the
     source version of linux-doc (a dependency generated by autodep8 for
     autopkgtest-pkg-dkms). Mixing different versions may fail if multiple
     distros (e.g. testing and unstable) are enabled and pinning is used.
     (Closes: #1010883)
   * Provide versioned virtual package dh-dkms.
   * Drop maintainer script code handling upgrades from versions predating
     squeeze/trusty.
   * Properly clean up ancient /etc/bash_completion.d/dkms.
   * Clean up ancient /etc/dkms/kernel_install.d_dkms.  (Closes: 996812)
   * Add debian/upstream/metadata.
   * Bump Standards-Version to 4.6.1, no changes needed.
   * Add myself to Uploaders.
 .
   [ Debian Janitor ]
   * Remove constraints unnecessary since buster.
     - dkms: Drop versioned constraint on coreutils in Depends.
Checksums-Sha1:
 431baa2abc882d9b315a586209fee86b77b6d3b4 2022 dkms_3.0.3-2.dsc
 378c37706004304dd7a84e54e32fc46b9012f759 20144 dkms_3.0.3-2.debian.tar.xz
 614fd9de0bdea9229a18da95a9699dc42564a0e1 5432 dkms_3.0.3-2_source.buildinfo
Checksums-Sha256:
 9db22ac1d267e980fcdd1e791ecca70eff4cb7ba79ccbf872ca2cfa7e3e1a375 2022 dkms_3.0.3-2.dsc
 3a1d399d4720b5be453a06c2143f73ea44733f2d5c18a48b833d980bc48caa32 20144 dkms_3.0.3-2.debian.tar.xz
 1e3515135c3b3abced3ac3d5602a2526063397dd1cd6dba740bd04a83e2097bf 5432 dkms_3.0.3-2_source.buildinfo
Files:
 173ad4bf67f93e718bc4a742e57bb95a 2022 kernel optional dkms_3.0.3-2.dsc
 e68ceb7f89566651f5fca0a126a0d78b 20144 kernel optional dkms_3.0.3-2.debian.tar.xz
 3848fb3b0135250fb027e149a80de8cf 5432 kernel optional dkms_3.0.3-2_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJEBAEBCAAuFiEE6/MKMKjZxjvaRMaUX7M/k1np7QgFAmKQ3LUQHGFuYmVAZGVi
aWFuLm9yZwAKCRBfsz+TWentCCGbD/93zu1Bbq2+6uHQtmV6yGRSbuYQmjHNptGN
RGZdkvAexr6y/AuzZUQ6dj6v3Dhz20xO3nipry0a5IGq9Rh99ZJtfIrnybcFvvsY
8/NQyU82aNmEqXcxAOjWoZ+aaflyS6f4FLX+m2OhT/clfBsETs/y99AoyedTPa2Y
5Pp8tPMEbCF56VuXN8dwWq4r1t08gkO6MM7R8opWlehmzY1s+dp1NCN98Ckc6GxV
8QocGhLAwlmrGFtS3fgdSTFLMsbCSwQ8EKadkN0i70eN4X5K5vpuszMD3cNlchtr
BsbkctRyfbHWnHsYoo9XKV79DikxuMJ2IV+p2W9a3hhFJVasiJyMyUt8ZaHpR8V7
9ggPVQzsI2Gyhvp4s1nJyS7iGBXofGNodzaAPXCBwWeeJpoLgDBHuc00JfZKq96R
Ift0nMzziibwFpMY6seAkOVoYrPjJ9z1l+5VoFAVnTsHx+pT/KWbDe0AYeVtA5YE
snf+uW7umVyAs2oflJ8nLnjA21IP5++scEeicSxRmVgGatmn1+b7CVojHzS4+38O
JaWo+bbayr2N2k8Q63uPFoNU1PGPfjOYOZhsORvihVr5ksWXkKU8ePgwDgbrFYkY
4jPJE57rwNCV5VmP1Aa/2eme3vC8bXV/wjcLHrjBwsYig9NnTPnaschEjWhdIKIx
F/AloUH8zg==
=W3xv
-----END PGP SIGNATURE-----

#1010883#59
Date:
2022-06-02 02:12:16 UTC
From:
To:
Looks not too bad.

Current problems:

lime-forensics: used dkms-autopkgtest manually, not via
  Testsuite: autopkgtest-pkg-dkms
merge-request !2
(only autopkgtest buggy, module builds fine)

r8125: bug #1012014 - r8125: fails to build module for Linux 5.17
(new upstream release available)

nvidia-graphics-drivers-tesla-470: fails on ppc64el due to transitive
GPL symbol usage, reported upstream

nvidia-graphics-drivers-tesla-510: improved version in experimental, but
has the same problem on ppc64el as 470 (not yet in sid due to moving a
package from nvidia-graphics-drivers to -tesla-510)
feel free to temporarily remove from testing

Since these bugs (modules failing to build) are already present in
testing and only exposed by the new dkms by making the autopkgtest run
no longer a no-op, perhaps you could just ignore the failing tests and
hint dkms into testing? (-tesla-510 would need some forced hint for
reintroduction into testing as well, since I don't think an upstream fix
for ppc64el will be available in time when I move
nvidia-graphics-drivers from 470 to 510 as default in sid)


Andreas

#1010883#64
Date:
2022-06-02 07:10:39 UTC
From:
To:
Source: limewire
Severity: serious
Version: 1.9.1-3
Control: clone -1 -2
Control: reassign -2 src:nvidia-graphics-drivers-tesla-470
Control: version -2 470.129.06-3
Control: tag -1 patch
Control: forwarded -1
https://salsa.debian.org/pkg-security-team/lime-forensics/-/merge_requests/2
Control: retitle -2 fails on ppc64el due to transitive GPL symbol usage

Hi,

[This bug report is a follow up from
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010883#59, a bug in
the dkms autopkgtest framework]

Let's also track this in a bug report.

Ditto.

Ack.

Please ping us when the time comes.

Paul

#1010883#73
Date:
2022-06-02 07:39:55 UTC
From:
To:
reopen 1012246
found 1012246 470.129.06-3
forwarded 1012244
https://salsa.debian.org/pkg-security-team/lime-forensics/-/merge_requests/2
reassign 1012244 src:lime-forensics
tag 1012244 patch
thanks

grr, I mixed up submit commands and in-line commands unintentionally and
got the source package wrong....

I need coffee, sorry for the noise.

Paul