lttng-modules-dkms FTBS in Noble with the linux-6.17 kernel

Bug #2133894 reported by John Cabaj
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lttng-modules (Ubuntu)
Status tracked in Resolute
Noble
Fix Committed
Undecided
Unassigned
Questing
Fix Committed
Undecided
Unassigned
Resolute
Invalid
Undecided
Unassigned

Bug Description

[ Impact ]

DKMS make.log for lttng-modules-2.13.11 for kernel 6.17.0-7-generic (x86_64)
Thu Dec 4 18:20:31 UTC 2025
make: Entering directory '/usr/src/linux-headers-6.17.0-7-generic'
make[1]: Entering directory '/var/lib/dkms/lttng-modules/2.13.11/build'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
  You are using: gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
  CC [M] src/lttng-ring-buffer-client-discard.o
src/probes/Kbuild:27: File /usr/src/linux-headers-6.17.0-7-generic/mm/slab.h not found. Probe "kmem" is disabled. Use full kernel source tree to enable it.
src/probes/Kbuild:81: File /usr/src/linux-headers-6.17.0-7-generic/arch/x86/kvm/lapic.h not found. Probe "kvm" x86-specific is disabled. Use full kernel source tree to enable it.
  CC [M] src/tests/probes/lttng-test.o
  CC [M] src/lib/ringbuffer/ring_buffer_backend.o
src/probes/Kbuild:188: Files /usr/src/linux-headers-6.17.0-7-generic/fs/btrfs/*.h not found. Probe "btrfs" is disabled. Use full kernel source tree to enable it.
src/probes/Kbuild:207: Files /usr/src/linux-headers-6.17.0-7-generic/mm/internal.h not found. Probe "compaction" is disabled. Use full kernel source tree to enable it.
src/probes/Kbuild:216: Files /usr/src/linux-headers-6.17.0-7-generic/fs/ext4/*.h not found. Probe "ext4" is disabled. Use full kernel source tree to enable it.
src/probes/Kbuild:245: File /usr/src/linux-headers-6.17.0-7-generic/drivers/base/regmap/trace.h not found. Probe "regmap" is disabled. Need Linux 4.1+ kernel source tree to enable it.
  CC [M] src/probes/lttng-probe-sched.o
In file included from <command-line>:
/usr/src/linux-headers-6.17.0-7-generic/include/linux/static_call_types.h:15:41: error: ‘__SCT__tp_func_lttng_test_filter_event’ undeclared here (not in a function); did you mean ‘__SCK__tp_func_lttng_test_filter_event’?
   15 | #define STATIC_CALL_TRAMP_PREFIX __SCT__
      | ^~~~~~~
/usr/src/linux-headers-6.17.0-7-generic/include/linux/compiler_types.h:83:23: note: in definition of macro ‘___PASTE’
   83 | #define ___PASTE(a,b) a##b
      | ^
/usr/src/linux-headers-6.17.0-7-generic/include/linux/static_call_types.h:18:41: note: in expansion of macro ‘__PASTE’
   18 | #define STATIC_CALL_TRAMP(name) __PASTE(STATIC_CALL_TRAMP_PREFIX, name)
      | ^~~~~~~
/usr/src/linux-headers-6.17.0-7-generic/include/linux/static_call_types.h:18:49: note: in expansion of macro ‘STATIC_CALL_TRAMP_PREFIX’
   18 | #define STATIC_CALL_TRAMP(name) __PASTE(STATIC_CALL_TRAMP_PREFIX, name)
      | ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.17.0-7-generic/include/linux/static_call.h:146:39: note: in expansion of macro ‘STATIC_CALL_TRAMP’
  146 | #define STATIC_CALL_TRAMP_ADDR(name) &STATIC_CALL_TRAMP(name)
      | ^~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.17.0-7-generic/include/linux/tracepoint.h:325:38: note: in expansion of macro ‘STATIC_CALL_TRAMP_ADDR’
  325 | .static_call_tramp = STATIC_CALL_TRAMP_ADDR(tp_func_##_name), \
      | ^~~~~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.17.0-7-generic/include/linux/tracepoint.h:371:9: note: in expansion of macro ‘__DEFINE_TRACE_EXT’
  371 | __DEFINE_TRACE_EXT(_name, NULL, PARAMS(_proto), PARAMS(_args));
      | ^~~~~~~~~~~~~~~~~~
src/tests/../../include/wrapper/tracepoint.h:19:9: note: in expansion of macro ‘DEFINE_TRACE’
   19 | DEFINE_TRACE(name, PARAMS(proto), PARAMS(args))
      | ^~~~~~~~~~~~
src/tests/probes/lttng-test.c:28:1: note: in expansion of macro ‘LTTNG_DEFINE_TRACE’
   28 | LTTNG_DEFINE_TRACE(lttng_test_filter_event,
      | ^~~~~~~~~~~~~~~~~~
In file included from src/probes/../../include/lttng/define_trace.h:87,
                 from src/probes/../../include/instrumentation/events/sched.h:730,
                 from src/probes/lttng-probe-sched.c:28:
src/probes/../../include/lttng/tracepoint-event-impl.h:133:6: error: conflicting types for ‘trace_sched_process_exit’; have ‘void(struct task_struct *)’
  133 | void trace_##_name(_proto);
      | ^~~~~~
src/probes/../../include/lttng/tracepoint-event-impl.h:98:9: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
   98 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(template, name, name, PARAMS(proto), PARAMS(args))
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/probes/../../include/instrumentation/events/sched.h:474:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE’
  474 | LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_process_template, sched_process_exit,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/src/linux-headers-6.17.0-7-generic/include/trace/events/sched.h:10,
                 from src/probes/lttng-probe-sched.c:17:
/usr/src/linux-headers-6.17.0-7-generic/include/linux/tracepoint.h:278:28: note: previous definition of ‘trace_sched_process_exit’ with type ‘void(struct task_struct *, bool)’ {aka ‘void(struct task_struct *, _Bool)’}
  278 | static inline void trace_##name(proto) \
      | ^~~~~~
/usr/src/linux-headers-6.17.0-7-generic/include/linux/tracepoint.h:481:9: note: in expansion of macro ‘__DECLARE_TRACE’
  481 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
      | ^~~~~~~~~~~~~~~
/usr/src/linux-headers-6.17.0-7-generic/include/linux/tracepoint.h:619:9: note: in expansion of macro ‘DECLARE_TRACE_EVENT’
  619 | DECLARE_TRACE_EVENT(name, PARAMS(proto), PARAMS(args))
      | ^~~~~~~~~~~~~~~~~~~
/usr/src/linux-headers-6.17.0-7-generic/include/trace/events/sched.h:335:1: note: in expansion of macro ‘TRACE_EVENT’
  335 | TRACE_EVENT(sched_process_exit,
      | ^~~~~~~~~~~
make[5]: *** [/usr/src/linux-headers-6.17.0-7-generic/scripts/Makefile.build:287: src/tests/probes/lttng-test.o] Error 1
make[4]: *** [/usr/src/linux-headers-6.17.0-7-generic/scripts/Makefile.build:556: src/tests] Error 2
make[4]: *** Waiting for unfinished jobs....
  CC [M] src/probes/lttng-probe-irq.o
make[5]: *** [/usr/src/linux-headers-6.17.0-7-generic/scripts/Makefile.build:287: src/probes/lttng-probe-sched.o] Error 1
make[5]: *** Waiting for unfinished jobs....
  CC [M] src/lib/ringbuffer/ring_buffer_frontend.o
  CC [M] src/lib/ringbuffer/ring_buffer_iterator.o
  CC [M] src/lib/ringbuffer/ring_buffer_vfs.o
In file included from src/lib/ringbuffer/ring_buffer_frontend.c:54:
src/lib/ringbuffer/ring_buffer_frontend.c: In function ‘switch_buffer_timer’:
src/lib/../../include/wrapper/timer.h:38:9: error: implicit declaration of function ‘from_timer’; did you mean ‘mod_timer’? [-Werror=implicit-function-declaration]
   38 | from_timer(var, callback_timer, timer_fieldname)
      | ^~~~~~~~~~
src/lib/ringbuffer/ring_buffer_frontend.c:337:48: note: in expansion of macro ‘lttng_from_timer’
  337 | struct lttng_kernel_ring_buffer *buf = lttng_from_timer(buf, t, switch_timer);
      | ^~~~~~~~~~~~~~~~
src/lib/ringbuffer/ring_buffer_frontend.c:337:73: error: ‘switch_timer’ undeclared (first use in this function); did you mean ‘switch_mode’?
  337 | struct lttng_kernel_ring_buffer *buf = lttng_from_timer(buf, t, switch_timer);
      | ^~~~~~~~~~~~
src/lib/../../include/wrapper/timer.h:38:41: note: in definition of macro ‘lttng_from_timer’
   38 | from_timer(var, callback_timer, timer_fieldname)
      | ^~~~~~~~~~~~~~~
src/lib/ringbuffer/ring_buffer_frontend.c:337:73: note: each undeclared identifier is reported only once for each function it appears in
  337 | struct lttng_kernel_ring_buffer *buf = lttng_from_timer(buf, t, switch_timer);
      | ^~~~~~~~~~~~
src/lib/../../include/wrapper/timer.h:38:41: note: in definition of macro ‘lttng_from_timer’
   38 | from_timer(var, callback_timer, timer_fieldname)
      | ^~~~~~~~~~~~~~~
src/lib/ringbuffer/ring_buffer_frontend.c: In function ‘lib_ring_buffer_stop_switch_timer’:
src/lib/ringbuffer/ring_buffer_frontend.c:391:9: error: implicit declaration of function ‘del_timer_sync’ [-Werror=implicit-function-declaration]
  391 | del_timer_sync(&buf->switch_timer);
      | ^~~~~~~~~~~~~~
src/lib/ringbuffer/ring_buffer_frontend.c: In function ‘read_buffer_timer’:
src/lib/ringbuffer/ring_buffer_frontend.c:400:73: error: ‘read_timer’ undeclared (first use in this function); did you mean ‘vread_iter’?
  400 | struct lttng_kernel_ring_buffer *buf = lttng_from_timer(buf, t, read_timer);
      | ^~~~~~~~~~
src/lib/../../include/wrapper/timer.h:38:41: note: in definition of macro ‘lttng_from_timer’
   38 | from_timer(var, callback_timer, timer_fieldname)
      | ^~~~~~~~~~~~~~~
make[4]: *** [/usr/src/linux-headers-6.17.0-7-generic/scripts/Makefile.build:556: src/probes] Error 2
  CC [M] src/lib/ringbuffer/ring_buffer_splice.o
src/lib/ringbuffer/ring_buffer_frontend.c: At top level:
src/lib/ringbuffer/ring_buffer_frontend.c:2409:12: warning: no previous prototype for ‘init_lib_ring_buffer_frontend’ [-Wmissing-prototypes]
 2409 | int __init init_lib_ring_buffer_frontend(void)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lib/ringbuffer/ring_buffer_frontend.c:2420:13: warning: no previous prototype for ‘exit_lib_ring_buffer_frontend’ [-Wmissing-prototypes]
 2420 | void __exit exit_lib_ring_buffer_frontend(void)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[5]: *** [/usr/src/linux-headers-6.17.0-7-generic/scripts/Makefile.build:287: src/lib/ringbuffer/ring_buffer_frontend.o] Error 1
make[5]: *** Waiting for unfinished jobs....
make[4]: *** [/usr/src/linux-headers-6.17.0-7-generic/scripts/Makefile.build:556: src/lib] Error 2
make[3]: *** [/usr/src/linux-headers-6.17.0-7-generic/scripts/Makefile.build:556: src] Error 2
make[2]: *** [/usr/src/linux-headers-6.17.0-7-generic/Makefile:2016: .] Error 2
make[1]: *** [/usr/src/linux-headers-6.17.0-7-generic/Makefile:248: __sub-make] Error 2
make[1]: Leaving directory '/var/lib/dkms/lttng-modules/2.13.11/build'
make: *** [Makefile:248: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.17.0-7-generic'

[ Test case ]

Install the latest linux-6.17 kernel on Noble:

$ sudo add-apt-repository ppa:canonical-kernel-team/ppa3
$ sudo apt install linux-generic-hwe-24.04-edge

Install lttng-modules-dkms:

$ sudo apt install lttng-modules-dkms

Module built and installed successfully.

Load the module:

$ sudo modprobe lttng-test

Module loaded successfully.

The same procedure can be repeated on linux-6.8 to test for possible regressions.

Install the latest kernel on Questing and Resolute:

Install lttng-modules-dkms:

$ sudo apt install lttng-modules-dkms

Module built and installed successfully.

Load the module:

$ sudo modprobe lttng-test

Module loaded successfully.

The same test must be repeated on Noble linux-6.8 and linux-6.14 kernels.
The same test should be repeated for Questing.

[ Fix ]

Backport upstream patches from lttng-modules (https://git.lttng.org/?p=lttng-modules.git):

    - debian/patches/writeback-instrumentation-Add-missing-provider-name-.patch
    - debian/patches/Add-missing-prototype-for-wrapper_get_pfnblock_flags.patch
    - debian/patches/Fix-Add-wrapper-for-get_pfnblock_migatetype.patch
    - debian/patches/fix-get_pfnblock_flags_mask-get_pfnblock_migratetype.patch
    - debian/patches/fix-btrfs-use-refcount_t-type-for-the-extent-buffer-.patch
    - debian/patches/fix-always-print-to-kernel-log-on-module-load-failur.patch

This is required because lttng-test has been failing to load for some time, and required more patches to pull in that had been previously missed. Backporting was the safer route rather than cherry-picking prospective patches.

[ Regression potential ]

We may experience regressions in systems that are using the lttng-modules drivers, especially with kernels >= 6.8 kernel.

John Cabaj (john-cabaj)
summary: - lttng-modules-dkms FTBS in Noble with the linux-6.17-hwe kernel
+ lttng-modules-dkms FTBS in Noble with the linux-6.17 kernel
no longer affects: lttng-modules (Ubuntu Resolute)
John Cabaj (john-cabaj)
description: updated
Revision history for this message
John Cabaj (john-cabaj) wrote :

2.14.0-1ubuntu1 -> 2.14.0-1ubuntu1.1 debdiff

Revision history for this message
John Cabaj (john-cabaj) wrote :

Packages built and available here - https://launchpad.net/~john-cabaj/+archive/ubuntu/lttng-modules-dkms/. Leaving out Noble debdiff as it wouldn't make much sense with a backport.

Changed in lttng-modules (Ubuntu Resolute):
status: New → Invalid
description: updated
Revision history for this message
Massimiliano Pellizzer (mpellizzer) wrote :

Questing uploaded, thanks

Revision history for this message
Massimiliano Pellizzer (mpellizzer) wrote :

Noble uploaded, thanks

Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello John, or anyone else affected,

Accepted lttng-modules into questing-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/lttng-modules/2.14.0-1ubuntu1.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, what testing has been performed on the package and change the tag from verification-needed-questing to verification-done-questing. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-questing. 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 lttng-modules (Ubuntu Questing):
status: New → Fix Committed
tags: added: verification-needed verification-needed-questing
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

for noble it's a full version backport though, it should be mentioned on the description as to why

John Cabaj (john-cabaj)
description: updated
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello John, or anyone else affected,

Accepted lttng-modules into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/lttng-modules/2.14.0-1ubuntu1.1~24.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, what testing has been performed on the package and change the tag from verification-needed-noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-noble. 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 lttng-modules (Ubuntu Noble):
status: New → Fix Committed
tags: added: verification-needed-noble
Revision history for this message
John Cabaj (john-cabaj) wrote :

Modules built and installed successfully. Modules loaded successfully:

Noble 6.8 kernel:

root@noble-lts-vm:~# uname -r
6.8.0-90-generic
root@noble-lts-vm:~# modprobe lttng-test
root@noble-lts-vm:~#

Noble 6.14 kernel:

root@noble-614-vm:~# uname -r
6.14.0-37-generic
root@noble-614-vm:~# modprobe lttng-test
root@noble-614-vm:~#

Noble 6.17 kernel:

root@noble-hwe-vm:~# uname -r
6.17.0-7-generic
root@noble-hwe-vm:~# modprobe lttng-test
root@noble-hwe-vm:~#

Questing 6.17 kernel:

root@questing-vm:~# uname -r
6.17.0-8-generic
root@questing-vm:~# modprobe lttng-test
root@questing-vm:~#

tags: added: verification-done-noble verification-done-questing
removed: verification-needed-noble verification-needed-questing
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.