dpdk 18.11-6 ADT test failure with linux 5.1.0-1.1

Bug #1827102 reported by Seth Forshee
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
dpdk (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned
Disco
Fix Released
Undecided
Unassigned

Bug Description

[Impact]

 * dpdk ships some dkms modules and those break on kernel updates every
   now and then. This is a fixup for one of such changes.

[Test Case]

 * dkms build the dpdk modules against a recent kernel (maybe mainline
   kernels)

[Regression Potential]

 * This particular fix should have no real regression potential.
   It checks on a (now) missing define and helps itself by redefining if
   needed. This is based on a kernel version check. The one regression
   could maybe be if later the symbol is added to later kernel versions.
   But that will need a fix just like this one.

[Other Info]

 * This is in prep for later on when a HWE kernel based on >=5.1 will land
   in e.g. Bionic
 * To find this patch in all of the stable update it is one of the few [1]
   that isn't yet in the stable update itself but added as a patch. (I
   hope this helps SRU review)

[1]: https://git.launchpad.net/~ubuntu-server/dpdk/tree/debian/patches/lp-1827102-kni-fix-build-with-Linux-5.1.patch?h=ubuntu-bionic-17.11.x

---

Testing failed on:
    amd64: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-eoan-canonical-kernel-team-bootstrap/eoan/amd64/d/dpdk/20190429_132513_6fe7a@/log.gz
    arm64: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-eoan-canonical-kernel-team-bootstrap/eoan/arm64/d/dpdk/20190430_120325_6fe7a@/log.gz
    i386: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-eoan-canonical-kernel-team-bootstrap/eoan/i386/d/dpdk/20190430_113822_6fe7a@/log.gz
    ppc64el: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-eoan-canonical-kernel-team-bootstrap/eoan/ppc64el/d/dpdk/20190429_154818_165f2@/log.gz

Related branches

Seth Forshee (sforshee)
tags: added: kernel-adt-failure
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

5.1 is not even in proposed yet.
So I used 5.1.0-050100rc7 from [1] mainline builds.

$ sudo apt install dpdk-rte-kni-dkms
[...]
This reproduces the build error

The actual error is:
$ cat /var/lib/dkms/dpdk-rte-kni/18.11/build/make.log
DKMS make.log for dpdk-rte-kni-18.11 for kernel 5.1.0-050100rc7-generic (x86_64)
Fri May 3 07:11:49 UTC 2019
make: Entering directory '/usr/src/linux-headers-5.1.0-050100rc7-generic'
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/kni_net.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/kni_misc.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/kni_ethtool.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_ethtool.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_82598.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_api.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_x540.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_common.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_phy.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_main.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/kcompat.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/ixgbe/ixgbe_82599.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/igb/e1000_82575.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/igb/e1000_i210.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/igb/e1000_api.o
  CC [M] /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/igb/igb_main.o
/usr/src/dpdk-rte-kni-18.11/ethtool/igb/igb_main.c:2346:18: error: initialization of ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16, struct netlink_ext_ack *)’ {aka ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, short unsigned int, short unsigned int, struct netlink_ext_ack *)’} from incompatible pointer type ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, u16, u16)’ {aka ‘int (*)(struct ndmsg *, struct nlattr **, struct net_device *, const unsigned char *, short unsigned int, short unsigned int)’} [-Werror=incompatible-pointer-types]
  .ndo_fdb_add = igb_ndo_fdb_add,
                  ^~~~~~~~~~~~~~~
/usr/src/dpdk-rte-kni-18.11/ethtool/igb/igb_main.c:2346:18: note: (near initialization for ‘igb_netdev_ops.ndo_fdb_add’)
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:276: /var/lib/dkms/dpdk-rte-kni/18.11/build/ethtool/igb/igb_main.o] Error 1
make: *** [Makefile:1571: _module_/var/lib/dkms/dpdk-rte-kni/18.11/build] Error 2
make: Leaving directory '/usr/src/linux-headers-5.1.0-050100rc7-generic'

The fix will be to backport the recent upstream commit [2].
This fix will most likely be in 18.11.2 and 19.08 but those are both not released for a while.

@Seth - how much time or urgency do we have with that right now?

[1]: https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.1-rc7/
[2]: https://git.dpdk.org/dpdk/commit/?id=db9178c24c1643b5ef58f2a9ff87c3eef8e0e1e4

Changed in dpdk (Ubuntu):
status: New → Triaged
Revision history for this message
Seth Forshee (sforshee) wrote :

Yeah, we need to start working on dkms failures in advance of actually shoving kernels into devel-proposed. I think there's probably a couple weeks at least before we will actually start considering putting 5.1 into -proposed, so it's not urgent at this point.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Proposed to the deb_dpdk project:
  https://gerrit.fd.io/r/19322

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Uploaded to Debian-experimental

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Hrm :-/
After resolving the component mismatch by the rdma-core fixes this hit unexpetced issues in autopkgtesting, looking ...

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dpdk - 18.11.1-3

---------------
dpdk (18.11.1-3) experimental; urgency=medium

  * d/control: add dependencies to libdpdk-dev: libelf-dev and libjansson-dev
    to avoid pkg-config issues
  * d/control: drop unused build dependency to libcap-dev

 -- Christian Ehrhardt <email address hidden> Wed, 08 May 2019 09:25:26 +0200

Changed in dpdk (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

One day there will be a 5.1 HWE kernel for Bionic.
Most likely this will be part of 17.11.6 and since the 5.1 HWE will take quite a while we can wait for that.

Changed in dpdk (Ubuntu Bionic):
status: New → Triaged
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

While Disco will never really have a 5.x kernel the fix will come in via the stable update anyway.
And it is not wasted as people might install 5.x on their own.
added disco task.

Changed in dpdk (Ubuntu Disco):
status: New → Triaged
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Uploaded as part of the recent stable updates.
Adding SRU Teamplate ...

description: updated
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Proposed package upload rejected

An upload of dpdk to disco-proposed has been rejected from the upload queue for the following reason: "Attached bug LP: #1784816 seems to point to a previous (different) stable version update (already released). Could we get a new bug for the new update, with proper release notes linked in?".

no longer affects: dpdk (Ubuntu Disco)
Changed in dpdk (Ubuntu Disco):
status: New → Triaged
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Seth, or anyone else affected,

Accepted dpdk into disco-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/dpdk/18.11.2-1ubuntu0.19.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-disco to verification-done-disco. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-disco. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in dpdk (Ubuntu Disco):
status: Triaged → Fix Committed
tags: added: verification-needed verification-needed-disco
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Seth, or anyone else affected,

Accepted dpdk into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/dpdk/17.11.6-0~ubuntu18.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in dpdk (Ubuntu Bionic):
status: Triaged → Fix Committed
tags: added: verification-needed-bionic
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Installed 5.1.21-050121 from mainline to test this new fix against.

Working fine on Disco.
Setting up dpdk-rte-kni-dkms (18.11.2-1ubuntu0.19.04.1) ...
Loading new dpdk-rte-kni-18.11.2 DKMS files...
Building for 5.1.21-050121-generic
Building initial module for 5.1.21-050121-generic
Can't load /var/lib/shim-signed/mok/.rnd into RNG
140281321071744:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:98:Filename=/var/lib/shim-signed/mok/.rnd
Generating a RSA private key
.............................................................................................................................................................................................................................+++++
...........+++++
writing new private key to '/var/lib/shim-signed/mok/MOK.priv'
-----
EFI variables are not supported on this system
/sys/firmware/efi/efivars not found, aborting.
Done.
rte_kni.ko:
Running module version sanity check.
modinfo: ERROR: missing module or filename.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.1.21-050121-generic/updates/dkms/

depmod....
...
DKMS: install completed.
Processing triggers for man-db (2.8.5-2) ...

On Bionic my guest has issue (unrelated) will need a few minutes more for that one.

tags: added: verification-done-disco
removed: verification-needed-disco
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Ok, Bionic Guest fixed (was a grub issue)
=> non proposed as expected triggered the bug

Building initial module for 5.1.21-050121-generic
ERROR (dkms apport): kernel package linux-headers-5.1.21-050121-generic is not supported
Error! Bad return status for module build on kernel: 5.1.21-050121-generic (x86_64)
Consult /var/lib/dkms/dpdk-rte-kni/17.11.5/build/make.log for more information.

When then installing from proposed things resolve, but one needs to read between the lines.
The reported and fixed bug resolves.
With 18.11.2 (as reported above) it does so completely and builds.
With 17.11.6 plus the fix it work as well for the reported error, but then fails at some other issue later on.

So when 5.1 comes we will also need a fix for
/var/lib/dkms/dpdk-rte-kni/17.11.6/build/kni_net.c:40:10: fatal error: kni_fifo.h: No such file or directory
 #include <kni_fifo.h>

But for the scope of this bug it is really fixed.

=> verified

tags: added: verification-done verification-done-bionic
removed: verification-needed verification-needed-bionic
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

FYI: It is prio low, but to not forget about this "other" build issue with 5.1 I filed bug 1838984

Just to be totally sure I did a rebuild with the DPDK in proposed and the current kernel version and things are fine indeed.

ubuntu@bionic:~$ sudo dkms build -m dpdk-rte-kni -v 17.11.6 -k 4.15.0-55-generic

Creating symlink /var/lib/dkms/dpdk-rte-kni/17.11.6/source ->
                 /usr/src/dpdk-rte-kni-17.11.6

DKMS: add completed.

Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area...
source /usr/share/dpdk/dpdk-sdk-env.sh; make MODULE_CFLAGS='-I/usr/include/x86_64-linux-gnu/dpdk -include /usr/include/x86_64-linux-gnu/dpdk/rte_config.h -I/usr/include/dpdk -I/usr/src/dpdk-rte-kni-17.11.6/ethtool/ixgbe -I/usr/src/dpdk-rte-kni-17.11.6/ethtool/igb -fno-PIE' RTE_KERNELDIR=/lib/modules/4.15.0-55-generic/build....
Signing module:
 - /var/lib/dkms/dpdk-rte-kni/17.11.6/4.15.0-55-generic/x86_64/module/rte_kni.ko
EFI variables are not supported on this system
/sys/firmware/efi/efivars not found, aborting.
cleaning build area...

DKMS: build completed.

Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for dpdk has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dpdk - 17.11.6-0~ubuntu18.04.1

---------------
dpdk (17.11.6-0~ubuntu18.04.1) bionic; urgency=medium

  * New upstream release 17.11.6 (LP: #1836365)
    For a full list of changes see:
    https://doc.dpdk.org/guides-17.11/rel_notes/release_17_11.html#id6
    - drop patches upstream in 17.11.6:
      d/p/0001-kni-fix-build-for-dev_open-in-Linux-5.0.patch
      d/p/0002-kni-fix-build-for-igb_ndo_bridge_setlink-in-Linux-5..patch
  * d/p/lp-1827102-kni-fix-build-with-Linux-5.1.patch fix kni DKMS build with
    Linux 5.1 kernels (LP: #1827102)

 -- Christian Ehrhardt <email address hidden> Fri, 12 Jul 2019 15:03:53 +0200

Changed in dpdk (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dpdk - 18.11.2-1ubuntu0.19.04.1

---------------
dpdk (18.11.2-1ubuntu0.19.04.1) disco; urgency=medium

  * Make DPDK LTS release available in Disco (LP: #1836365)
    - includes a fix for mlx rdma-core dependencies (LP: #1820957)

dpdk (18.11.2-1) experimental; urgency=medium

  [ Christian Ehrhardt ]
  * Merge stable update to 18.11.2; For a list of changes see
    http://doc.dpdk.org/guides-18.11/rel_notes/release_18_11.html#id1
    - refresh 0004-build-bump-minimum-Meson-version-to-0.47.1.patch for 18.11.2
    - drop changes upstream in 18.11.2
      0002-build-use-generic-march-on-arm64-when-using-default.patch
      lp-1827102-kni-fix-build-with-Linux-5.1.patch

  [ Santiago Ruano Rincón ]
  * debian/rules: clean doc files

dpdk (18.11.1-3) experimental; urgency=medium

  * d/control: add dependencies to libdpdk-dev: libelf-dev and libjansson-dev
    to avoid pkg-config issues
  * d/control: drop unused build dependency to libcap-dev

dpdk (18.11.1-2) experimental; urgency=medium

  [ Christian Ehrhardt ]
  * d/control: drop shlibs:Depends from dpdk as it has no binaries anymore
  * d/p/lp-1827102-kni-fix-build-with-Linux-5.1.patch fix kni DKMS build with
    Linux 5.1 kernels (LP: #1827102)

  [ Luca Boccassi ]
  * Bump Standards-Version to 4.3.0, no changes.

dpdk (18.11.1-1) experimental; urgency=medium

  [ Christian Ehrhardt ]
  * Merge stable update to 18.11.1; For a list of changes see
    https://doc.dpdk.org/guides-18.11/rel_notes/release_18_11.html
    - refresh 0004-build-bump-minimum-Meson-version-to-0.47.1.patch for 18.11.1
    - drop changes upstream in 18.11.1
      0001-doc-fix-garbage-text-in-generated-HTML-guides.patch
      0003-build-mention-march-in-pkg-config-description.patch
      0001-kni-fix-build-for-dev_open-in-Linux-5.0.patch
      0002-kni-fix-build-for-igb_ndo_bridge_setlink-in-Linux-5..patch
  * d/control: fix usability issue with mlx PMDs which might need rdma-core
    to be installed. In most cases users will want this, to be able to
    drop rdma-core if unwanted in some cases this is only a recommends added
    to librte-pmd-mlx4-18.11 and librte-pmd-mlx5-18.11 (Closes: #925141)

 -- Christian Ehrhardt <email address hidden> Fri, 12 Jul 2019 14:35:59 +0200

Changed in dpdk (Ubuntu Disco):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.