Unable to build sysdig DKMS module on Bionic-4.18 and Xenial-4.15 kernel

Bug #1802240 reported by Po-Hsu Lin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-kernel-tests
Fix Released
Undecided
Unassigned
sysdig (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Build log on Bionic with 4.18 kernel.

$ cat /var/lib/dkms/sysdig/0.19.1/build/make.log
DKMS make.log for sysdig-0.19.1 for kernel 4.18.0-11-generic (ppc64le)
Thu Nov 8 07:01:18 UTC 2018
make: Entering directory '/usr/src/linux-headers-4.18.0-11-generic'
  CC [M] /var/lib/dkms/sysdig/0.19.1/build/main.o
  CC [M] /var/lib/dkms/sysdig/0.19.1/build/dynamic_params_table.o
  CC [M] /var/lib/dkms/sysdig/0.19.1/build/flags_table.o
  CC [M] /var/lib/dkms/sysdig/0.19.1/build/ppm_events.o
  CC [M] /var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.o
  CC [M] /var/lib/dkms/sysdig/0.19.1/build/event_table.o
  CC [M] /var/lib/dkms/sysdig/0.19.1/build/syscall_table.o
  CC [M] /var/lib/dkms/sysdig/0.19.1/build/ppm_cputime.o
In file included from ./arch/powerpc/include/asm/asm-offsets.h:1:0,
                 from /var/lib/dkms/sysdig/0.19.1/build/main.c:58:
./include/generated/asm-offsets.h:13:0: warning: "NMI_MASK" redefined
 #define NMI_MASK 1048576 /* NMI_MASK */

In file included from ./include/linux/rcupdate.h:40:0,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./arch/powerpc/include/asm/syscall.h:17,
                 from /var/lib/dkms/sysdig/0.19.1/build/main.c:28:
./include/linux/preempt.h:47:0: note: this is the location of the previous definition
 #define NMI_MASK (__IRQ_MASK(NMI_BITS) << NMI_SHIFT)

In file included from ./arch/powerpc/include/asm/asm-offsets.h:1:0,
                 from /var/lib/dkms/sysdig/0.19.1/build/main.c:58:
./include/generated/asm-offsets.h:179:0: warning: "NSEC_PER_SEC" redefined
 #define NSEC_PER_SEC 1000000000 /* NSEC_PER_SEC */

In file included from ./include/linux/restart_block.h:10:0,
                 from ./include/linux/thread_info.h:13,
                 from ./arch/powerpc/include/asm/ptrace.h:158,
                 from ./arch/powerpc/include/asm/processor.h:44,
                 from ./arch/powerpc/include/asm/book3s/64/mmu-hash.h:26,
                 from ./arch/powerpc/include/asm/book3s/64/mmu.h:30,
                 from ./arch/powerpc/include/asm/mmu.h:314,
                 from ./arch/powerpc/include/asm/lppaca.h:36,
                 from ./arch/powerpc/include/asm/paca.h:21,
                 from ./arch/powerpc/include/asm/current.h:16,
                 from ./include/linux/sched.h:12,
                 from ./arch/powerpc/include/asm/syscall.h:17,
                 from /var/lib/dkms/sysdig/0.19.1/build/main.c:28:
./include/linux/time64.h:35:0: note: this is the location of the previous definition
 #define NSEC_PER_SEC 1000000000L

In file included from ./arch/powerpc/include/asm/asm-offsets.h:1:0,
                 from /var/lib/dkms/sysdig/0.19.1/build/main.c:58:
./include/generated/asm-offsets.h:182:0: warning: "PGD_TABLE_SIZE" redefined
 #define PGD_TABLE_SIZE 65536 /* (sizeof(pgd_t) << max(RADIX_PGD_INDEX_SIZE, H_PGD_INDEX_SIZE)) */

In file included from ./arch/powerpc/include/asm/book3s/64/mmu-hash.h:24:0,
                 from ./arch/powerpc/include/asm/book3s/64/mmu.h:30,
                 from ./arch/powerpc/include/asm/mmu.h:314,
                 from ./arch/powerpc/include/asm/lppaca.h:36,
                 from ./arch/powerpc/include/asm/paca.h:21,
                 from ./arch/powerpc/include/asm/current.h:16,
                 from ./include/linux/sched.h:12,
                 from ./arch/powerpc/include/asm/syscall.h:17,
                 from /var/lib/dkms/sysdig/0.19.1/build/main.c:28:
./arch/powerpc/include/asm/book3s/64/pgtable.h:244:0: note: this is the location of the previous definition
 #define PGD_TABLE_SIZE __pgd_table_size

/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c: In function ‘compute_snaplen’:
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:237:69: warning: passing argument 3 of ‘sock->ops->getname’ makes integer from pointer without a cast [-Wint-conversion]
    err = sock->ops->getname(sock, (struct sockaddr *)&sock_address, &sock_address_len, 0);
                                                                     ^
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:237:69: note: expected ‘int’ but argument is of type ‘int *’
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:237:10: error: too many arguments to function ‘sock->ops->getname’
    err = sock->ops->getname(sock, (struct sockaddr *)&sock_address, &sock_address_len, 0);
          ^~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:258:72: warning: passing argument 3 of ‘sock->ops->getname’ makes integer from pointer without a cast [-Wint-conversion]
       err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
                                                                        ^
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:258:72: note: expected ‘int’ but argument is of type ‘int *’
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:258:13: error: too many arguments to function ‘sock->ops->getname’
       err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
             ^~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:278:73: warning: passing argument 3 of ‘sock->ops->getname’ makes integer from pointer without a cast [-Wint-conversion]
        err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
                                                                         ^
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:278:73: note: expected ‘int’ but argument is of type ‘int *’
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:278:14: error: too many arguments to function ‘sock->ops->getname’
        err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
              ^~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:331:72: warning: passing argument 3 of ‘sock->ops->getname’ makes integer from pointer without a cast [-Wint-conversion]
       err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
                                                                        ^
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:331:72: note: expected ‘int’ but argument is of type ‘int *’
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:331:13: error: too many arguments to function ‘sock->ops->getname’
       err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
             ^~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:333:71: warning: passing argument 3 of ‘sock->ops->getname’ makes integer from pointer without a cast [-Wint-conversion]
      err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
                                                                       ^
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:333:71: note: expected ‘int’ but argument is of type ‘int *’
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:333:12: error: too many arguments to function ‘sock->ops->getname’
      err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
            ^~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c: In function ‘fd_to_socktuple’:
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:985:67: warning: passing argument 3 of ‘sock->ops->getname’ makes integer from pointer without a cast [-Wint-conversion]
  err = sock->ops->getname(sock, (struct sockaddr *)&sock_address, &sock_address_len, 0);
                                                                   ^
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:985:67: note: expected ‘int’ but argument is of type ‘int *’
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:985:8: error: too many arguments to function ‘sock->ops->getname’
  err = sock->ops->getname(sock, (struct sockaddr *)&sock_address, &sock_address_len, 0);
        ^~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:996:69: warning: passing argument 3 of ‘sock->ops->getname’ makes integer from pointer without a cast [-Wint-conversion]
    err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
                                                                     ^
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:996:69: note: expected ‘int’ but argument is of type ‘int *’
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:996:10: error: too many arguments to function ‘sock->ops->getname’
    err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
          ^~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:1048:69: warning: passing argument 3 of ‘sock->ops->getname’ makes integer from pointer without a cast [-Wint-conversion]
    err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
                                                                     ^
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:1048:69: note: expected ‘int’ but argument is of type ‘int *’
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:1048:10: error: too many arguments to function ‘sock->ops->getname’
    err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
          ^~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:1123:70: warning: passing argument 3 of ‘sock->ops->getname’ makes integer from pointer without a cast [-Wint-conversion]
     err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
                                                                      ^
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:1123:70: note: expected ‘int’ but argument is of type ‘int *’
/var/lib/dkms/sysdig/0.19.1/build/ppm_events.c:1123:11: error: too many arguments to function ‘sock->ops->getname’
     err = sock->ops->getname(sock, (struct sockaddr *)&peer_address, &peer_address_len, 1);
           ^~~~
scripts/Makefile.build:325: recipe for target '/var/lib/dkms/sysdig/0.19.1/build/ppm_events.o' failed
make[1]: *** [/var/lib/dkms/sysdig/0.19.1/build/ppm_events.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from ./arch/powerpc/include/asm/thread_info.h:27:0,
                 from ./include/linux/thread_info.h:38,
                 from ./include/asm-generic/preempt.h:5,
                 from ./arch/powerpc/include/generated/asm/preempt.h:1,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/spinlock.h:51,
                 from ./include/linux/seqlock.h:36,
                 from ./include/linux/time.h:6,
                 from ./include/linux/stat.h:19,
                 from ./include/linux/compat.h:12,
                 from /var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c:21:
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c: In function ‘f_sys_socket_bind_x’:
./arch/powerpc/include/asm/page.h:38:20: warning: large integer implicitly truncated to unsigned type [-Woverflow]
 #define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT)
                    ^
/var/lib/dkms/sysdig/0.19.1/build/ppm.h:105:26: note: in expansion of macro ‘PAGE_SIZE’
 #define STR_STORAGE_SIZE PAGE_SIZE
                          ^~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c:1619:5: note: in expansion of macro ‘STR_STORAGE_SIZE’
     STR_STORAGE_SIZE);
     ^~~~~~~~~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c: In function ‘f_sys_connect_x’:
./arch/powerpc/include/asm/page.h:38:20: warning: large integer implicitly truncated to unsigned type [-Woverflow]
 #define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT)
                    ^
/var/lib/dkms/sysdig/0.19.1/build/ppm.h:105:26: note: in expansion of macro ‘PAGE_SIZE’
 #define STR_STORAGE_SIZE PAGE_SIZE
                          ^~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c:1700:6: note: in expansion of macro ‘STR_STORAGE_SIZE’
      STR_STORAGE_SIZE);
      ^~~~~~~~~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c: In function ‘f_sys_accept_x’:
./arch/powerpc/include/asm/page.h:38:20: warning: large integer implicitly truncated to unsigned type [-Woverflow]
 #define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT)
                    ^
/var/lib/dkms/sysdig/0.19.1/build/ppm.h:105:26: note: in expansion of macro ‘PAGE_SIZE’
 #define STR_STORAGE_SIZE PAGE_SIZE
                          ^~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c:1849:3: note: in expansion of macro ‘STR_STORAGE_SIZE’
   STR_STORAGE_SIZE);
   ^~~~~~~~~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c: In function ‘f_sys_sendto_e’:
./arch/powerpc/include/asm/page.h:38:20: warning: large integer implicitly truncated to unsigned type [-Woverflow]
 #define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT)
                    ^
/var/lib/dkms/sysdig/0.19.1/build/ppm.h:105:26: note: in expansion of macro ‘PAGE_SIZE’
 #define STR_STORAGE_SIZE PAGE_SIZE
                          ^~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c:1998:5: note: in expansion of macro ‘STR_STORAGE_SIZE’
     STR_STORAGE_SIZE);
     ^~~~~~~~~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c: In function ‘f_sys_recvfrom_x’:
./arch/powerpc/include/asm/page.h:38:20: warning: large integer implicitly truncated to unsigned type [-Woverflow]
 #define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT)
                    ^
/var/lib/dkms/sysdig/0.19.1/build/ppm.h:105:26: note: in expansion of macro ‘PAGE_SIZE’
 #define STR_STORAGE_SIZE PAGE_SIZE
                          ^~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c:2263:6: note: in expansion of macro ‘STR_STORAGE_SIZE’
      STR_STORAGE_SIZE);
      ^~~~~~~~~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c: In function ‘f_sys_sendmsg_e’:
./arch/powerpc/include/asm/page.h:38:20: warning: large integer implicitly truncated to unsigned type [-Woverflow]
 #define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT)
                    ^
/var/lib/dkms/sysdig/0.19.1/build/ppm.h:105:26: note: in expansion of macro ‘PAGE_SIZE’
 #define STR_STORAGE_SIZE PAGE_SIZE
                          ^~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c:2389:5: note: in expansion of macro ‘STR_STORAGE_SIZE’
     STR_STORAGE_SIZE);
     ^~~~~~~~~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c: In function ‘f_sys_recvmsg_x’:
./arch/powerpc/include/asm/page.h:38:20: warning: large integer implicitly truncated to unsigned type [-Woverflow]
 #define PAGE_SIZE (ASM_CONST(1) << PAGE_SHIFT)
                    ^
/var/lib/dkms/sysdig/0.19.1/build/ppm.h:105:26: note: in expansion of macro ‘PAGE_SIZE’
 #define STR_STORAGE_SIZE PAGE_SIZE
                          ^~~~~~~~~
/var/lib/dkms/sysdig/0.19.1/build/ppm_fillers.c:2597:6: note: in expansion of macro ‘STR_STORAGE_SIZE’
      STR_STORAGE_SIZE);
      ^~~~~~~~~~~~~~~~
Makefile:1546: recipe for target '_module_/var/lib/dkms/sysdig/0.19.1/build' failed
make: *** [_module_/var/lib/dkms/sysdig/0.19.1/build] Error 2
make: Leaving directory '/usr/src/linux-headers-4.18.0-11-generic'

This should not be considered as a regression, this test was not tested with these combination before.

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: sysdig 0.19.1-1build2
ProcVersionSignature: User Name 4.18.0-11.12~18.04.1-generic 4.18.12
Uname: Linux 4.18.0-11-generic ppc64le
ApportVersion: 2.20.9-0ubuntu7.4
Architecture: ppc64el
Date: Thu Nov 8 07:05:53 2018
ProcLoadAvg: 0.08 0.10 0.19 1/1413 11439
ProcLocks:
 1: POSIX ADVISORY WRITE 1816 00:17:368 0 EOF
 2: POSIX ADVISORY WRITE 4059 00:17:587 0 EOF
 3: POSIX ADVISORY WRITE 4093 00:17:581 0 EOF
 4: FLOCK ADVISORY WRITE 3572 00:17:519 0 EOF
 5: FLOCK ADVISORY WRITE 3928 00:17:560 0 EOF
ProcSwaps:
 Filename Type Size Used Priority
 /swap.img file 8388544 0 -2
ProcVersion: Linux version 4.18.0-11-generic (buildd@bos02-ppc64el-012) (gcc version 7.3.0 (User Name 7.3.0-16ubuntu3)) #12~18.04.1-User Name SMP Thu Oct 25 12:58:39 UTC 2018
SourcePackage: sysdig
UpgradeStatus: No upgrade log present (probably fresh install)
VarLogDump_list: total 0
cpu_cores: Number of cores present = 40
cpu_coreson: Number of cores online = 40
cpu_smt: SMT=4

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

This module can be built on the same PowerPC box on:
 * Cosmic 4.18
 * Bionic 4.15

Just not Bionic 4.18 and not X-4.15

summary: - Unable to build sysdig DKMS module on 4.18 kernel
+ Unable to build sysdig DKMS module on Bionic 4.18 kernel
summary: - Unable to build sysdig DKMS module on Bionic 4.18 kernel
+ Unable to build sysdig DKMS module on Bionic-4.18 and Xenial-4.15 kernel
Po-Hsu Lin (cypressyew)
description: updated
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Affecting x86 as well.

tags: added: amd64 i386
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :
Po-Hsu Lin (cypressyew)
Changed in ubuntu-kernel-tests:
status: New → Confirmed
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Works on Bionic 4.18:
 Running 'dkms status -m sysdig | grep installed'
 [stdout] sysdig, 0.19.1, 4.18.0-13-generic, x86_64: installed

$ uname -a
Linux moe 4.18.0-13-generic #14~18.04.1-Ubuntu SMP Thu Dec 6 14:09:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Works on Xenial 4.15:
 Running 'dkms status -m sysdig | grep installed'
 sysdig, 0.8.0, 4.15.0-43-generic, x86_64: installed

$ uname -a
Linux pepe 4.15.0-43-generic #46~16.04.1-Ubuntu SMP Fri Dec 7 13:31:08 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Changed in ubuntu-kernel-tests:
status: Confirmed → Fix Released
no longer affects: linux-azure-edge (Ubuntu)
Changed in sysdig (Ubuntu):
status: New → Fix Released
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

The build issue still exists on Power PC with X-4.15 (works with B-4.18), bug filed separately bug 1810916

For this one, as the error message is different, I will mark this as 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.