← Back to team overview

lttng team mailing list archive

[Bug 2091563] [NEW] lttng-modules-dkms FTBS in Noble with linux-6.11-hwe kernel

 

Public bug reported:

[ Impact ]

lttng-modules-dkms does not compile from source in Noble with kernel
6.11:

In file included from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/define_trace.h:87,
                 from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/instrumentation/events/skb.h:124,
                 from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/lttng-probe-skb.c:29:
/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6: error: conflicting types for ‘trace_kfree_skb’; have ‘void(struct sk_buff *, void *, enum skb_drop_reason)’
  133 | void trace_##_name(_proto);
      |      ^~~~~~
/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
   45 |         LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/instrumentation/events/skb.h:47:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
   47 | LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/trace/events/skb.h:10,
                 from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/lttng-probe-skb.c:18:
./include/linux/tracepoint.h:255:28: note: previous definition of ‘trace_kfree_skb’ with type ‘void(struct sk_buff *, void *, enum skb_drop_reason,  struct sock *)’
  255 |         static inline void trace_##name(proto)                          \
      |                            ^~~~~~
./include/linux/tracepoint.h:433:9: note: in expansion of macro ‘__DECLARE_TRACE’
  433 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      |         ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:567:9: note: in expansion of macro ‘DECLARE_TRACE’
  567 |         DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~
./include/trace/events/skb.h:24:1: note: in expansion of macro ‘TRACE_EVENT’
   24 | TRACE_EVENT(kfree_skb,
      | ^~~~~~~~~~~

In file included from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/define_trace.h:87,
                 from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/instrumentation/events/udp.h:26,
                 from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/lttng-probe-udp.c:27:
/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6: error: conflicting types for ‘trace_udp_fail_queue_rcv_skb’; have ‘void(int,  struct sock *)’
  133 | void trace_##_name(_proto);
      |      ^~~~~~
/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
   45 |         LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:87:9: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
   87 |         LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/instrumentation/events/udp.h:11:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
   11 | LTTNG_TRACEPOINT_EVENT(udp_fail_queue_rcv_skb,
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/trace/events/udp.h:9,
                 from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/lttng-probe-udp.c:18:
./include/linux/tracepoint.h:255:28: note: previous definition of ‘trace_udp_fail_queue_rcv_skb’ with type ‘void(int,  struct sock *, struct sk_buff *)’
  255 |         static inline void trace_##name(proto)                          \
      |                            ^~~~~~
./include/linux/tracepoint.h:433:9: note: in expansion of macro ‘__DECLARE_TRACE’
  433 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      |         ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:567:9: note: in expansion of macro ‘DECLARE_TRACE’
  567 |         DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~
./include/trace/events/udp.h:12:1: note: in expansion of macro ‘TRACE_EVENT’
   12 | TRACE_EVENT(udp_fail_queue_rcv_skb,
      | ^~~~~~~~~~~

/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6: error: conflicting types for ‘trace_snd_soc_bias_level_start’; have ‘void(struct snd_soc_card *, int)’
  133 | void trace_##_name(_proto);
      |      ^~~~~~
/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/instrumentation/events/asoc.h:134:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
  134 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card, snd_soc_bias_level_start,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/trace/events/asoc.h:9,
                 from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/lttng-probe-asoc.c:20:
./include/linux/tracepoint.h:255:28: note: previous definition of ‘trace_snd_soc_bias_level_start’ with type ‘void(struct snd_soc_dapm_context *, int)’
  255 |         static inline void trace_##name(proto)                          \
      |                            ^~~~~~
./include/linux/tracepoint.h:433:9: note: in expansion of macro ‘__DECLARE_TRACE’
  433 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      |         ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:556:9: note: in expansion of macro ‘DECLARE_TRACE’
  556 |         DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~
./include/trace/events/asoc.h:44:1: note: in expansion of macro ‘DEFINE_EVENT’
   44 | DEFINE_EVENT(snd_soc_dapm, snd_soc_bias_level_start,
      | ^~~~~~~~~~~~
      
/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6: error: conflicting types for ‘trace_snd_soc_bias_level_done’; have ‘void(struct snd_soc_card *, int)’
  133 | void trace_##_name(_proto);
      |      ^~~~~~
/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/instrumentation/events/asoc.h:144:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
  144 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card, snd_soc_bias_level_done,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/tracepoint.h:255:28: note: previous definition of ‘trace_snd_soc_bias_level_done’ with type ‘void(struct snd_soc_dapm_context *, int)’
  255 |         static inline void trace_##name(proto)                          \
      |                            ^~~~~~
./include/linux/tracepoint.h:433:9: note: in expansion of macro ‘__DECLARE_TRACE’
  433 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      |         ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:556:9: note: in expansion of macro ‘DECLARE_TRACE’
  556 |         DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |         ^~~~~~~~~~~~~
./include/trace/events/asoc.h:52:1: note: in expansion of macro ‘DEFINE_EVENT’
   52 | DEFINE_EVENT(snd_soc_dapm, snd_soc_bias_level_done,
      | ^~~~~~~~~~~~

In file included from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/lttng-uprobes.c:12:
/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/wrapper/fdtable.h: In function ‘lttng_close_on_exec’:
/var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/wrapper/fdtable.h:76:34: error: passing argument 2 of ‘close_on_exec’ from incompatible pointer type [-Werror=incompatible-pointer-types]
   76 |         return close_on_exec(fd, fdt);
      |                                  ^~~
      |                                  |
      |                                  const struct fdtable *
In file included from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/wrapper/fdtable.h:12:
./include/linux/fdtable.h:100:78: note: expected ‘const struct files_struct *’ but argument is of type ‘const struct fdtable *’
  100 | static inline bool close_on_exec(unsigned int fd, const struct files_struct *files)
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~


[ Test case ]

Install the latest linux-6.11 kernel on Noble:

$ sudo add-apt-repository ppa:canonical-kernel-team/ppa
$ sudo apt update
$ sudo apt install linux-image-6.11.0-12-generic \
                   linux-modules-6.11.0-12-generic \
                   linux-modules-extra-6.11.0-12-generic \
                   linux-headers-6.11.0-12-generic

Install lttng-modules-dkms:

$ sudo apt install lttng-modules-dkms

Load the module:

$ sudo modprobe lttng-test

[ Fix ]

Patch the code to properly support the new linux 6.11 ABI.

[ Regression potential ]

We may experience regressions in systems that are using the lttng
debugging tool with the new 6.11 kernel.

** Affects: lttng-modules (Ubuntu)
     Importance: Undecided
     Assignee: Massimiliano Pellizzer (mpellizzer)
         Status: In Progress

-- 
You received this bug notification because you are a member of Ubuntu
LTTng, which is subscribed to lttng-modules in Ubuntu.
Matching subscriptions: lttng-modules-bugs
https://bugs.launchpad.net/bugs/2091563

Title:
  lttng-modules-dkms FTBS in Noble with linux-6.11-hwe kernel

Status in lttng-modules package in Ubuntu:
  In Progress

Bug description:
  [ Impact ]

  lttng-modules-dkms does not compile from source in Noble with kernel
  6.11:

  In file included from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/define_trace.h:87,
                   from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/instrumentation/events/skb.h:124,
                   from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/lttng-probe-skb.c:29:
  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6: error: conflicting types for ‘trace_kfree_skb’; have ‘void(struct sk_buff *, void *, enum skb_drop_reason)’
    133 | void trace_##_name(_proto);
        |      ^~~~~~
  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
     45 |         LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/instrumentation/events/skb.h:47:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
     47 | LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb,
        | ^~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from ./include/trace/events/skb.h:10,
                   from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/lttng-probe-skb.c:18:
  ./include/linux/tracepoint.h:255:28: note: previous definition of ‘trace_kfree_skb’ with type ‘void(struct sk_buff *, void *, enum skb_drop_reason,  struct sock *)’
    255 |         static inline void trace_##name(proto)                          \
        |                            ^~~~~~
  ./include/linux/tracepoint.h:433:9: note: in expansion of macro ‘__DECLARE_TRACE’
    433 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
        |         ^~~~~~~~~~~~~~~
  ./include/linux/tracepoint.h:567:9: note: in expansion of macro ‘DECLARE_TRACE’
    567 |         DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
        |         ^~~~~~~~~~~~~
  ./include/trace/events/skb.h:24:1: note: in expansion of macro ‘TRACE_EVENT’
     24 | TRACE_EVENT(kfree_skb,
        | ^~~~~~~~~~~

  In file included from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/define_trace.h:87,
                   from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/instrumentation/events/udp.h:26,
                   from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/lttng-probe-udp.c:27:
  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6: error: conflicting types for ‘trace_udp_fail_queue_rcv_skb’; have ‘void(int,  struct sock *)’
    133 | void trace_##_name(_proto);
        |      ^~~~~~
  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
     45 |         LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:87:9: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
     87 |         LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/instrumentation/events/udp.h:11:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
     11 | LTTNG_TRACEPOINT_EVENT(udp_fail_queue_rcv_skb,
        | ^~~~~~~~~~~~~~~~~~~~~~
  In file included from ./include/trace/events/udp.h:9,
                   from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/lttng-probe-udp.c:18:
  ./include/linux/tracepoint.h:255:28: note: previous definition of ‘trace_udp_fail_queue_rcv_skb’ with type ‘void(int,  struct sock *, struct sk_buff *)’
    255 |         static inline void trace_##name(proto)                          \
        |                            ^~~~~~
  ./include/linux/tracepoint.h:433:9: note: in expansion of macro ‘__DECLARE_TRACE’
    433 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
        |         ^~~~~~~~~~~~~~~
  ./include/linux/tracepoint.h:567:9: note: in expansion of macro ‘DECLARE_TRACE’
    567 |         DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
        |         ^~~~~~~~~~~~~
  ./include/trace/events/udp.h:12:1: note: in expansion of macro ‘TRACE_EVENT’
     12 | TRACE_EVENT(udp_fail_queue_rcv_skb,
        | ^~~~~~~~~~~

  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6: error: conflicting types for ‘trace_snd_soc_bias_level_start’; have ‘void(struct snd_soc_card *, int)’
    133 | void trace_##_name(_proto);
        |      ^~~~~~
  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/instrumentation/events/asoc.h:134:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
    134 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card, snd_soc_bias_level_start,
        | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from ./include/trace/events/asoc.h:9,
                   from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/lttng-probe-asoc.c:20:
  ./include/linux/tracepoint.h:255:28: note: previous definition of ‘trace_snd_soc_bias_level_start’ with type ‘void(struct snd_soc_dapm_context *, int)’
    255 |         static inline void trace_##name(proto)                          \
        |                            ^~~~~~
  ./include/linux/tracepoint.h:433:9: note: in expansion of macro ‘__DECLARE_TRACE’
    433 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
        |         ^~~~~~~~~~~~~~~
  ./include/linux/tracepoint.h:556:9: note: in expansion of macro ‘DECLARE_TRACE’
    556 |         DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
        |         ^~~~~~~~~~~~~
  ./include/trace/events/asoc.h:44:1: note: in expansion of macro ‘DEFINE_EVENT’
     44 | DEFINE_EVENT(snd_soc_dapm, snd_soc_bias_level_start,
        | ^~~~~~~~~~~~
        
  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6: error: conflicting types for ‘trace_snd_soc_bias_level_done’; have ‘void(struct snd_soc_card *, int)’
    133 | void trace_##_name(_proto);
        |      ^~~~~~
  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/instrumentation/events/asoc.h:144:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
    144 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card, snd_soc_bias_level_done,
        | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./include/linux/tracepoint.h:255:28: note: previous definition of ‘trace_snd_soc_bias_level_done’ with type ‘void(struct snd_soc_dapm_context *, int)’
    255 |         static inline void trace_##name(proto)                          \
        |                            ^~~~~~
  ./include/linux/tracepoint.h:433:9: note: in expansion of macro ‘__DECLARE_TRACE’
    433 |         __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
        |         ^~~~~~~~~~~~~~~
  ./include/linux/tracepoint.h:556:9: note: in expansion of macro ‘DECLARE_TRACE’
    556 |         DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
        |         ^~~~~~~~~~~~~
  ./include/trace/events/asoc.h:52:1: note: in expansion of macro ‘DEFINE_EVENT’
     52 | DEFINE_EVENT(snd_soc_dapm, snd_soc_bias_level_done,
        | ^~~~~~~~~~~~

  In file included from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/lttng-uprobes.c:12:
  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/wrapper/fdtable.h: In function ‘lttng_close_on_exec’:
  /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/wrapper/fdtable.h:76:34: error: passing argument 2 of ‘close_on_exec’ from incompatible pointer type [-Werror=incompatible-pointer-types]
     76 |         return close_on_exec(fd, fdt);
        |                                  ^~~
        |                                  |
        |                                  const struct fdtable *
  In file included from /var/lib/dkms/lttng-modules/2.13.11/build/src/probes/../../include/wrapper/fdtable.h:12:
  ./include/linux/fdtable.h:100:78: note: expected ‘const struct files_struct *’ but argument is of type ‘const struct fdtable *’
    100 | static inline bool close_on_exec(unsigned int fd, const struct files_struct *files)
        |                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~

  
  [ Test case ]

  Install the latest linux-6.11 kernel on Noble:

  $ sudo add-apt-repository ppa:canonical-kernel-team/ppa
  $ sudo apt update
  $ sudo apt install linux-image-6.11.0-12-generic \
                     linux-modules-6.11.0-12-generic \
                     linux-modules-extra-6.11.0-12-generic \
                     linux-headers-6.11.0-12-generic

  Install lttng-modules-dkms:

  $ sudo apt install lttng-modules-dkms

  Load the module:

  $ sudo modprobe lttng-test

  [ Fix ]

  Patch the code to properly support the new linux 6.11 ABI.

  [ Regression potential ]

  We may experience regressions in systems that are using the lttng
  debugging tool with the new 6.11 kernel.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lttng-modules/+bug/2091563/+subscriptions