← Back to team overview

lttng team mailing list archive

[Bug 1918109] [NEW] lttng-modules-dkms: build errors with linux >= 5.11

 

Public bug reported:

[Impact]

I'm getting the following build errors when I try to install lttng-
modules-dkms on the latest hirsute 5.11 kernel:

In file included from /var/lib/dkms/lttng-modules/2.12.2/build/probes/../probes/define_trace.h:87,
                 from /var/lib/dkms/lttng-modules/2.12.2/build/probes/../instrumentation/events/lttng-module/block.h:1122,
                 from /var/lib/dkms/lttng-modules/2.12.2/build/probes/lttng-probe-block.c:30:
/var/lib/dkms/lttng-modules/2.12.2/build/probes/../probes/lttng-tracepoint-event-impl.h:131:6: error: conflicting types for ‘trace_block_rq_requeue’
  131 | void trace_##_name(_proto);
      |      ^~~~~~
/var/lib/dkms/lttng-modules/2.12.2/build/probes/../probes/lttng-tracepoint-event-impl.h:43:2: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
   43 |  LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/lttng-modules/2.12.2/build/probes/../probes/lttng-tracepoint-event-impl.h:85:2: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
   85 |  LTTNG_TRACEPOINT_EVENT_MAP(name, name,    \
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/lttng-modules/2.12.2/build/probes/../instrumentation/events/lttng-module/block.h:279:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
  279 | LTTNG_TRACEPOINT_EVENT(block_rq_requeue,
      | ^~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/trace/events/block.h:11,
                 from /var/lib/dkms/lttng-modules/2.12.2/build/probes/lttng-probe-block.c:19:
./include/linux/tracepoint.h:238:21: note: previous definition of ‘trace_block_rq_requeue’ was here
  238 |  static inline void trace_##name(proto)    \
      |                     ^~~~~~
./include/linux/tracepoint.h:413:2: note: in expansion of macro ‘__DECLARE_TRACE’
  413 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      |  ^~~~~~~~~~~~~~~
./include/linux/tracepoint.h:549:2: note: in expansion of macro ‘DECLARE_TRACE’
  549 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      |  ^~~~~~~~~~~~~
./include/trace/events/block.h:73:1: note: in expansion of macro ‘TRACE_EVENT’
   73 | TRACE_EVENT(block_rq_requeue,
      | ^~~~~~~~~~~
In file included from /var/lib/dkms/lttng-modules/2.12.2/build/probes/../probes/define_trace.h:87,
                 from /var/lib/dkms/lttng-modules/2.12.2/build/probes/../instrumentation/events/lttng-module/block.h:1122,
                 from /var/lib/dkms/lttng-modules/2.12.2/build/probes/lttng-probe-block.c:30:
/var/lib/dkms/lttng-modules/2.12.2/build/probes/../probes/lttng-tracepoint-event-impl.h:131:6: error: conflicting types for ‘trace_block_rq_insert’.
  131 | void trace_##_name(_proto);
      |      ^~~~~~

[Test plan]

Install lttng-modules-dkms to trigger the build errors.

[Fix]

Apply lttng upstream patches to properly support linux 5.11.

[Regresssion potential]

To properly support 5.11 the patches that are required are going to
touch the block layer code, uprobes and kprobes in lttng, so potentially
we could introduce specific lttng failures at tracing these subsystems
in old kernels. However these are all upstream patches, so it is
unlikely to trigger such failures.

** Affects: lttng-modules (Ubuntu)
     Importance: Undecided
         Status: New

-- 
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/1918109

Title:
  lttng-modules-dkms: build errors with linux >= 5.11

Status in lttng-modules package in Ubuntu:
  New

Bug description:
  [Impact]

  I'm getting the following build errors when I try to install lttng-
  modules-dkms on the latest hirsute 5.11 kernel:

  In file included from /var/lib/dkms/lttng-modules/2.12.2/build/probes/../probes/define_trace.h:87,
                   from /var/lib/dkms/lttng-modules/2.12.2/build/probes/../instrumentation/events/lttng-module/block.h:1122,
                   from /var/lib/dkms/lttng-modules/2.12.2/build/probes/lttng-probe-block.c:30:
  /var/lib/dkms/lttng-modules/2.12.2/build/probes/../probes/lttng-tracepoint-event-impl.h:131:6: error: conflicting types for ‘trace_block_rq_requeue’
    131 | void trace_##_name(_proto);
        |      ^~~~~~
  /var/lib/dkms/lttng-modules/2.12.2/build/probes/../probes/lttng-tracepoint-event-impl.h:43:2: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
     43 |  LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
        |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /var/lib/dkms/lttng-modules/2.12.2/build/probes/../probes/lttng-tracepoint-event-impl.h:85:2: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
     85 |  LTTNG_TRACEPOINT_EVENT_MAP(name, name,    \
        |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
  /var/lib/dkms/lttng-modules/2.12.2/build/probes/../instrumentation/events/lttng-module/block.h:279:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
    279 | LTTNG_TRACEPOINT_EVENT(block_rq_requeue,
        | ^~~~~~~~~~~~~~~~~~~~~~
  In file included from ./include/trace/events/block.h:11,
                   from /var/lib/dkms/lttng-modules/2.12.2/build/probes/lttng-probe-block.c:19:
  ./include/linux/tracepoint.h:238:21: note: previous definition of ‘trace_block_rq_requeue’ was here
    238 |  static inline void trace_##name(proto)    \
        |                     ^~~~~~
  ./include/linux/tracepoint.h:413:2: note: in expansion of macro ‘__DECLARE_TRACE’
    413 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
        |  ^~~~~~~~~~~~~~~
  ./include/linux/tracepoint.h:549:2: note: in expansion of macro ‘DECLARE_TRACE’
    549 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
        |  ^~~~~~~~~~~~~
  ./include/trace/events/block.h:73:1: note: in expansion of macro ‘TRACE_EVENT’
     73 | TRACE_EVENT(block_rq_requeue,
        | ^~~~~~~~~~~
  In file included from /var/lib/dkms/lttng-modules/2.12.2/build/probes/../probes/define_trace.h:87,
                   from /var/lib/dkms/lttng-modules/2.12.2/build/probes/../instrumentation/events/lttng-module/block.h:1122,
                   from /var/lib/dkms/lttng-modules/2.12.2/build/probes/lttng-probe-block.c:30:
  /var/lib/dkms/lttng-modules/2.12.2/build/probes/../probes/lttng-tracepoint-event-impl.h:131:6: error: conflicting types for ‘trace_block_rq_insert’.
    131 | void trace_##_name(_proto);
        |      ^~~~~~

  [Test plan]

  Install lttng-modules-dkms to trigger the build errors.

  [Fix]

  Apply lttng upstream patches to properly support linux 5.11.

  [Regresssion potential]

  To properly support 5.11 the patches that are required are going to
  touch the block layer code, uprobes and kprobes in lttng, so
  potentially we could introduce specific lttng failures at tracing
  these subsystems in old kernels. However these are all upstream
  patches, so it is unlikely to trigger such failures.

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


Follow ups