Public bug reported:

[SRU Justification]

Impact:
Upstream stable added a change in the format of jbd2 in 5.15.87 that was 
cherry-picked to kinetic:linux.

This is incompatible with the current changes in the lttng-module
kinetic.

We previously encountered this issue for focal 
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/2004644
and we proactively released a new version for kinetic.
The problem is the fix does not really work as expected.

As shown in the logs below,
The build error is triggered because some function declaration does not match 
the kernel's.
In `include/instrumentation/events/jbd2.h` in lttng-modules, there is a 
conditional declaration based on the kernel version. 5.19 is missing there, 
therefore kinetic will fallback to the old declaration. Probably the reason 
5.19 is not there is because this version has reached end of life last year.

[Fix]
Change the interval from [5.15 - 5.16] to [5.15-5.19]
This requires a new release for kinetic and jammy because jammy 5.19 backports 
are affected as well.

Regression potential:
We may notice new failures in ubuntu_lttng_smoke_test once this will compile 
and run. But it was tested locally and results were good, so probability is 
very very low.

35:35 DEBUG| [stdout] In file included from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/define_trace.h:87,
      860               02:35:35 DEBUG| [stdout]                  from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/instrumentation/events/jbd2.h:293,
      861               02:35:35 DEBUG| [stdout]                  from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/lttng-probe-jbd2.c:29:
      862               02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6:
 error: conflicting types for ‘trace_jbd2_run_stats’; have ‘void(dev_t,  long 
unsigned int,  struct transaction_run_stats_s *)’ {aka ‘void(unsigned int,  
long unsigned int,  struct transaction_run_stats_s *)’}
      863               02:35:35 DEBUG| [stdout]   133 | void 
trace_##_name(_proto);
      864               02:35:35 DEBUG| [stdout]       |      ^~~~~~
      865               02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
      866               02:35:35 DEBUG| [stdout]    45 |         
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
      867               02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      868               02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:87:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
      869               02:35:35 DEBUG| [stdout]    87 |         
LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
      870               02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~
      871               02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/instrumentation/events/jbd2.h:180:1:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
      872               02:35:35 DEBUG| [stdout]   180 | 
LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
      873               02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~~~~~~~~~~~~
      874               02:35:35 DEBUG| [stdout] In file included from 
./include/trace/events/jbd2.h:9,
      875               02:35:35 DEBUG| [stdout]                  from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/lttng-probe-jbd2.c:18:
      876               02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:245:28: note: previous definition of 
‘trace_jbd2_run_stats’ with type ‘void(dev_t,  tid_t,  struct 
transaction_run_stats_s *)’ {aka ‘void(unsigned int,  unsigned int,  struct 
transaction_run_stats_s *)’}
      877               02:35:35 DEBUG| [stdout]   245 |         static inline 
void trace_##name(proto)                          \
      878               02:35:35 DEBUG| [stdout]       |                        
    ^~~~~~
      879               02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:419:9: note: in expansion of macro 
‘__DECLARE_TRACE’
      880               02:35:35 DEBUG| [stdout]   419 |         
__DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      881               02:35:35 DEBUG| [stdout]       |         ^~~~~~~~~~~~~~~
      882               02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:553:9: note: in expansion of macro ‘DECLARE_TRACE’
      883               02:35:35 DEBUG| [stdout]   553 |         
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      884               02:35:35 DEBUG| [stdout]       |         ^~~~~~~~~~~~~
      885               02:35:35 DEBUG| [stdout] 
./include/trace/events/jbd2.h:248:1: note: in expansion of macro ‘TRACE_EVENT’
      886               02:35:35 DEBUG| [stdout]   248 | 
TRACE_EVENT(jbd2_run_stats,
      887               02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~
      888               02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6:
 error: conflicting types for ‘trace_jbd2_checkpoint_stats’; have ‘void(dev_t,  
long unsigned int,  struct transaction_chp_stats_s *)’ {aka ‘void(unsigned int, 
 long unsigned int,  struct transaction_chp_stats_s *)’}
      889               02:35:35 DEBUG| [stdout]   133 | void 
trace_##_name(_proto);
      890               02:35:35 DEBUG| [stdout]       |      ^~~~~~
      891               02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
      892               02:35:35 DEBUG| [stdout]    45 |         
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
      893               02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      894               02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:87:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
      895               02:35:35 DEBUG| [stdout]    87 |         
LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
      896               02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~
      897               02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/instrumentation/events/jbd2.h:200:1:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
      898               02:35:35 DEBUG| [stdout]   200 | 
LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
      899               02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~~~~~~~~~~~~
      900               02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:245:28: note: previous definition of 
‘trace_jbd2_checkpoint_stats’ with type ‘void(dev_t,  tid_t,  struct 
transaction_chp_stats_s *)’ {aka ‘void(unsigned int,  unsigned int,  struct 
transaction_chp_stats_s *)’}
      901               02:35:35 DEBUG| [stdout]   245 |         static inline 
void trace_##name(proto)                          \
      902               02:35:35 DEBUG| [stdout]       |                        
    ^~~~~~
      903               02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:419:9: note: in expansion of macro 
‘__DECLARE_TRACE’
      904               02:35:35 DEBUG| [stdout]   419 |         
__DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
      905               02:35:35 DEBUG| [stdout]       |         ^~~~~~~~~~~~~~~
      906               02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:553:9: note: in expansion of macro ‘DECLARE_TRACE’
      907               02:35:35 DEBUG| [stdout]   553 |         
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      908               02:35:35 DEBUG| [stdout]       |         ^~~~~~~~~~~~~
      909               02:35:35 DEBUG| [stdout] 
./include/trace/events/jbd2.h:296:1: note: in expansion of macro ‘TRACE_EVENT’
      910               02:35:35 DEBUG| [stdout]   296 | 
TRACE_EVENT(jbd2_checkpoint_stats,
      911               02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~
      912               02:35:35 DEBUG| [stdout] make[3]: *** 
[scripts/Makefile.build:257: 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/lttng-probe-jbd2.o] Error 1
      913               02:35:35 DEBUG| [stdout] make[2]: *** 
[scripts/Makefile.build:474: 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes] Error 2
      914               02:35:35 DEBUG| [stdout] make[1]: *** 
[scripts/Makefile.build:474: /var/lib/dkms/lttng-modules/2.13.8/build/src] 
Error 2
      915               02:35:35 DEBUG| [stdout] make: *** [Makefile:1850: 
/var/lib/dkms/lttng-modules/2.13.8/build] Error 2
      916               02:35:35 DEBUG| [stdout] make: Leaving directory 
'/usr/src/linux-headers-5.19.0-42-generic'
      917               02:35:35 ERROR| Exception escaping from test:
      918               Traceback (most recent call last):
      919                 File "/home/ubuntu/autotest/client/shared/test.py", 
line 378, in _exec
      920                   _cherry_pick_call(self.initialize, *args, **dargs)
      921                 File "/home/ubuntu/autotest/client/shared/test.py", 
line 738, in _cherry_pick_call
      922                   return func(*p_args, **p_dargs)
      923                 File 
"/home/ubuntu/autotest/client/tests/ubuntu_lttng_smoke_test/ubuntu_lttng_smoke_test.py",
 line 58, in initialize
      924                   raise error.TestError('DKMS failed to install')

** Affects: lttng-modules (Ubuntu)
     Importance: Medium
     Assignee: Roxana Nicolescu (roxanan)
         Status: New

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

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


** Tags: sru-20230417

** Also affects: lttng-modules (Ubuntu Jammy)
   Importance: Undecided
       Status: New

** Also affects: lttng-modules (Ubuntu Kinetic)
   Importance: Undecided
       Status: New

** Description changed:

  [SRU Justification]
  
  Impact:
- Upstream stable added a change in the format of jbd2 in 5.15.87 that was 
cherry-picked to kinetic:linux. 
+ Upstream stable added a change in the format of jbd2 in 5.15.87 that was 
cherry-picked to kinetic:linux.
  
  This is incompatible with the current changes in the lttng-module
  kinetic.
  
  We previously encountered this issue for focal 
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/2004644
  and we proactively released a new version for kinetic.
  The problem is the fix does not really work as expected.
  
- As shown in the logs below, 
+ As shown in the logs below,
  The build error is triggered because some function declaration does not match 
the kernel's.
  In `include/instrumentation/events/jbd2.h` in lttng-modules, there is a 
conditional declaration based on the kernel version. 5.19 is missing there, 
therefore kinetic will fallback to the old declaration. Probably the reason 
5.19 is not there is because this version has reached end of life last year.
  
- 
  [Fix]
  Change the interval from [5.15 - 5.16] to [5.15-5.19]
- 
+ This requires a new release for kinetic and jammy because jammy 5.19 
backports are affected as well.
  
  Regression potential:
  We may notice new failures in ubuntu_lttng_smoke_test once this will compile 
and run. But it was tested locally and results were good, so probability is 
very very low.
  
  35:35 DEBUG| [stdout] In file included from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/define_trace.h:87,
-               860             02:35:35 DEBUG| [stdout]                  from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/instrumentation/events/jbd2.h:293,
-               861             02:35:35 DEBUG| [stdout]                  from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/lttng-probe-jbd2.c:29:
-               862             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6:
 error: conflicting types for ‘trace_jbd2_run_stats’; have ‘void(dev_t,  long 
unsigned int,  struct transaction_run_stats_s *)’ {aka ‘void(unsigned int,  
long unsigned int,  struct transaction_run_stats_s *)’}
-               863             02:35:35 DEBUG| [stdout]   133 | void 
trace_##_name(_proto);
-               864             02:35:35 DEBUG| [stdout]       |      ^~~~~~
-               865             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
-               866             02:35:35 DEBUG| [stdout]    45 |         
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
-               867             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-               868             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:87:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
-               869             02:35:35 DEBUG| [stdout]    87 |         
LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
-               870             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~
-               871             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/instrumentation/events/jbd2.h:180:1:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
-               872             02:35:35 DEBUG| [stdout]   180 | 
LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
-               873             02:35:35 DEBUG| [stdout]       | 
^~~~~~~~~~~~~~~~~~~~~~
-               874             02:35:35 DEBUG| [stdout] In file included from 
./include/trace/events/jbd2.h:9,
-               875             02:35:35 DEBUG| [stdout]                  from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/lttng-probe-jbd2.c:18:
-               876             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:245:28: note: previous definition of 
‘trace_jbd2_run_stats’ with type ‘void(dev_t,  tid_t,  struct 
transaction_run_stats_s *)’ {aka ‘void(unsigned int,  unsigned int,  struct 
transaction_run_stats_s *)’}
-               877             02:35:35 DEBUG| [stdout]   245 |         static 
inline void trace_##name(proto)                          \
-               878             02:35:35 DEBUG| [stdout]       |                
            ^~~~~~
-               879             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:419:9: note: in expansion of macro 
‘__DECLARE_TRACE’
-               880             02:35:35 DEBUG| [stdout]   419 |         
__DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
-               881             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~
-               882             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:553:9: note: in expansion of macro ‘DECLARE_TRACE’
-               883             02:35:35 DEBUG| [stdout]   553 |         
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
-               884             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~
-               885             02:35:35 DEBUG| [stdout] 
./include/trace/events/jbd2.h:248:1: note: in expansion of macro ‘TRACE_EVENT’
-               886             02:35:35 DEBUG| [stdout]   248 | 
TRACE_EVENT(jbd2_run_stats,
-               887             02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~
-               888             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6:
 error: conflicting types for ‘trace_jbd2_checkpoint_stats’; have ‘void(dev_t,  
long unsigned int,  struct transaction_chp_stats_s *)’ {aka ‘void(unsigned int, 
 long unsigned int,  struct transaction_chp_stats_s *)’}
-               889             02:35:35 DEBUG| [stdout]   133 | void 
trace_##_name(_proto);
-               890             02:35:35 DEBUG| [stdout]       |      ^~~~~~
-               891             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
-               892             02:35:35 DEBUG| [stdout]    45 |         
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
-               893             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-               894             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:87:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
-               895             02:35:35 DEBUG| [stdout]    87 |         
LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
-               896             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~
-               897             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/instrumentation/events/jbd2.h:200:1:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
-               898             02:35:35 DEBUG| [stdout]   200 | 
LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
-               899             02:35:35 DEBUG| [stdout]       | 
^~~~~~~~~~~~~~~~~~~~~~
-               900             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:245:28: note: previous definition of 
‘trace_jbd2_checkpoint_stats’ with type ‘void(dev_t,  tid_t,  struct 
transaction_chp_stats_s *)’ {aka ‘void(unsigned int,  unsigned int,  struct 
transaction_chp_stats_s *)’}
-               901             02:35:35 DEBUG| [stdout]   245 |         static 
inline void trace_##name(proto)                          \
-               902             02:35:35 DEBUG| [stdout]       |                
            ^~~~~~
-               903             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:419:9: note: in expansion of macro 
‘__DECLARE_TRACE’
-               904             02:35:35 DEBUG| [stdout]   419 |         
__DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
-               905             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~
-               906             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:553:9: note: in expansion of macro ‘DECLARE_TRACE’
-               907             02:35:35 DEBUG| [stdout]   553 |         
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
-               908             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~
-               909             02:35:35 DEBUG| [stdout] 
./include/trace/events/jbd2.h:296:1: note: in expansion of macro ‘TRACE_EVENT’
-               910             02:35:35 DEBUG| [stdout]   296 | 
TRACE_EVENT(jbd2_checkpoint_stats,
-               911             02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~
-               912             02:35:35 DEBUG| [stdout] make[3]: *** 
[scripts/Makefile.build:257: 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/lttng-probe-jbd2.o] Error 1
-               913             02:35:35 DEBUG| [stdout] make[2]: *** 
[scripts/Makefile.build:474: 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes] Error 2
-               914             02:35:35 DEBUG| [stdout] make[1]: *** 
[scripts/Makefile.build:474: /var/lib/dkms/lttng-modules/2.13.8/build/src] 
Error 2
-               915             02:35:35 DEBUG| [stdout] make: *** 
[Makefile:1850: /var/lib/dkms/lttng-modules/2.13.8/build] Error 2
-               916             02:35:35 DEBUG| [stdout] make: Leaving 
directory '/usr/src/linux-headers-5.19.0-42-generic'
-               917             02:35:35 ERROR| Exception escaping from test:
-               918             Traceback (most recent call last):
-               919               File 
"/home/ubuntu/autotest/client/shared/test.py", line 378, in _exec
-               920                 _cherry_pick_call(self.initialize, *args, 
**dargs)
-               921               File 
"/home/ubuntu/autotest/client/shared/test.py", line 738, in _cherry_pick_call
-               922                 return func(*p_args, **p_dargs)
-               923               File 
"/home/ubuntu/autotest/client/tests/ubuntu_lttng_smoke_test/ubuntu_lttng_smoke_test.py",
 line 58, in initialize
-               924                 raise error.TestError('DKMS failed to 
install')
+       860             02:35:35 DEBUG| [stdout]                  from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/instrumentation/events/jbd2.h:293,
+       861             02:35:35 DEBUG| [stdout]                  from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/lttng-probe-jbd2.c:29:
+       862             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6:
 error: conflicting types for ‘trace_jbd2_run_stats’; have ‘void(dev_t,  long 
unsigned int,  struct transaction_run_stats_s *)’ {aka ‘void(unsigned int,  
long unsigned int,  struct transaction_run_stats_s *)’}
+       863             02:35:35 DEBUG| [stdout]   133 | void 
trace_##_name(_proto);
+       864             02:35:35 DEBUG| [stdout]       |      ^~~~~~
+       865             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
+       866             02:35:35 DEBUG| [stdout]    45 |         
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
+       867             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+       868             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:87:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
+       869             02:35:35 DEBUG| [stdout]    87 |         
LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
+       870             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~
+       871             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/instrumentation/events/jbd2.h:180:1:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
+       872             02:35:35 DEBUG| [stdout]   180 | 
LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
+       873             02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~~~~~~~~~~~~
+       874             02:35:35 DEBUG| [stdout] In file included from 
./include/trace/events/jbd2.h:9,
+       875             02:35:35 DEBUG| [stdout]                  from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/lttng-probe-jbd2.c:18:
+       876             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:245:28: note: previous definition of 
‘trace_jbd2_run_stats’ with type ‘void(dev_t,  tid_t,  struct 
transaction_run_stats_s *)’ {aka ‘void(unsigned int,  unsigned int,  struct 
transaction_run_stats_s *)’}
+       877             02:35:35 DEBUG| [stdout]   245 |         static inline 
void trace_##name(proto)                          \
+       878             02:35:35 DEBUG| [stdout]       |                        
    ^~~~~~
+       879             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:419:9: note: in expansion of macro 
‘__DECLARE_TRACE’
+       880             02:35:35 DEBUG| [stdout]   419 |         
__DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
+       881             02:35:35 DEBUG| [stdout]       |         ^~~~~~~~~~~~~~~
+       882             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:553:9: note: in expansion of macro ‘DECLARE_TRACE’
+       883             02:35:35 DEBUG| [stdout]   553 |         
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
+       884             02:35:35 DEBUG| [stdout]       |         ^~~~~~~~~~~~~
+       885             02:35:35 DEBUG| [stdout] 
./include/trace/events/jbd2.h:248:1: note: in expansion of macro ‘TRACE_EVENT’
+       886             02:35:35 DEBUG| [stdout]   248 | 
TRACE_EVENT(jbd2_run_stats,
+       887             02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~
+       888             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6:
 error: conflicting types for ‘trace_jbd2_checkpoint_stats’; have ‘void(dev_t,  
long unsigned int,  struct transaction_chp_stats_s *)’ {aka ‘void(unsigned int, 
 long unsigned int,  struct transaction_chp_stats_s *)’}
+       889             02:35:35 DEBUG| [stdout]   133 | void 
trace_##_name(_proto);
+       890             02:35:35 DEBUG| [stdout]       |      ^~~~~~
+       891             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
+       892             02:35:35 DEBUG| [stdout]    45 |         
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
+       893             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+       894             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:87:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
+       895             02:35:35 DEBUG| [stdout]    87 |         
LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
+       896             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~
+       897             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/instrumentation/events/jbd2.h:200:1:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
+       898             02:35:35 DEBUG| [stdout]   200 | 
LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
+       899             02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~~~~~~~~~~~~
+       900             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:245:28: note: previous definition of 
‘trace_jbd2_checkpoint_stats’ with type ‘void(dev_t,  tid_t,  struct 
transaction_chp_stats_s *)’ {aka ‘void(unsigned int,  unsigned int,  struct 
transaction_chp_stats_s *)’}
+       901             02:35:35 DEBUG| [stdout]   245 |         static inline 
void trace_##name(proto)                          \
+       902             02:35:35 DEBUG| [stdout]       |                        
    ^~~~~~
+       903             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:419:9: note: in expansion of macro 
‘__DECLARE_TRACE’
+       904             02:35:35 DEBUG| [stdout]   419 |         
__DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
+       905             02:35:35 DEBUG| [stdout]       |         ^~~~~~~~~~~~~~~
+       906             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:553:9: note: in expansion of macro ‘DECLARE_TRACE’
+       907             02:35:35 DEBUG| [stdout]   553 |         
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
+       908             02:35:35 DEBUG| [stdout]       |         ^~~~~~~~~~~~~
+       909             02:35:35 DEBUG| [stdout] 
./include/trace/events/jbd2.h:296:1: note: in expansion of macro ‘TRACE_EVENT’
+       910             02:35:35 DEBUG| [stdout]   296 | 
TRACE_EVENT(jbd2_checkpoint_stats,
+       911             02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~
+       912             02:35:35 DEBUG| [stdout] make[3]: *** 
[scripts/Makefile.build:257: 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/lttng-probe-jbd2.o] Error 1
+       913             02:35:35 DEBUG| [stdout] make[2]: *** 
[scripts/Makefile.build:474: 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes] Error 2
+       914             02:35:35 DEBUG| [stdout] make[1]: *** 
[scripts/Makefile.build:474: /var/lib/dkms/lttng-modules/2.13.8/build/src] 
Error 2
+       915             02:35:35 DEBUG| [stdout] make: *** [Makefile:1850: 
/var/lib/dkms/lttng-modules/2.13.8/build] Error 2
+       916             02:35:35 DEBUG| [stdout] make: Leaving directory 
'/usr/src/linux-headers-5.19.0-42-generic'
+       917             02:35:35 ERROR| Exception escaping from test:
+       918             Traceback (most recent call last):
+       919               File "/home/ubuntu/autotest/client/shared/test.py", 
line 378, in _exec
+       920                 _cherry_pick_call(self.initialize, *args, **dargs)
+       921               File "/home/ubuntu/autotest/client/shared/test.py", 
line 738, in _cherry_pick_call
+       922                 return func(*p_args, **p_dargs)
+       923               File 
"/home/ubuntu/autotest/client/tests/ubuntu_lttng_smoke_test/ubuntu_lttng_smoke_test.py",
 line 58, in initialize
+       924                 raise error.TestError('DKMS failed to install')

** Tags added: sru-20230417

** Changed in: lttng-modules (Ubuntu)
     Assignee: (unassigned) => Roxana Nicolescu (roxanan)

** Changed in: lttng-modules (Ubuntu)
   Importance: Undecided => Medium

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

Title:
  fix build issue for kinetic

Status in lttng-modules package in Ubuntu:
  New
Status in lttng-modules source package in Jammy:
  New
Status in lttng-modules source package in Kinetic:
  New

Bug description:
  [SRU Justification]

  Impact:
  Upstream stable added a change in the format of jbd2 in 5.15.87 that was 
cherry-picked to kinetic:linux.

  This is incompatible with the current changes in the lttng-module
  kinetic.

  We previously encountered this issue for focal 
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/2004644
  and we proactively released a new version for kinetic.
  The problem is the fix does not really work as expected.

  As shown in the logs below,
  The build error is triggered because some function declaration does not match 
the kernel's.
  In `include/instrumentation/events/jbd2.h` in lttng-modules, there is a 
conditional declaration based on the kernel version. 5.19 is missing there, 
therefore kinetic will fallback to the old declaration. Probably the reason 
5.19 is not there is because this version has reached end of life last year.

  [Fix]
  Change the interval from [5.15 - 5.16] to [5.15-5.19]
  This requires a new release for kinetic and jammy because jammy 5.19 
backports are affected as well.

  Regression potential:
  We may notice new failures in ubuntu_lttng_smoke_test once this will compile 
and run. But it was tested locally and results were good, so probability is 
very very low.

  35:35 DEBUG| [stdout] In file included from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/define_trace.h:87,
        860             02:35:35 DEBUG| [stdout]                  from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/instrumentation/events/jbd2.h:293,
        861             02:35:35 DEBUG| [stdout]                  from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/lttng-probe-jbd2.c:29:
        862             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6:
 error: conflicting types for ‘trace_jbd2_run_stats’; have ‘void(dev_t,  long 
unsigned int,  struct transaction_run_stats_s *)’ {aka ‘void(unsigned int,  
long unsigned int,  struct transaction_run_stats_s *)’}
        863             02:35:35 DEBUG| [stdout]   133 | void 
trace_##_name(_proto);
        864             02:35:35 DEBUG| [stdout]       |      ^~~~~~
        865             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
        866             02:35:35 DEBUG| [stdout]    45 |         
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
        867             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        868             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:87:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
        869             02:35:35 DEBUG| [stdout]    87 |         
LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
        870             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~
        871             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/instrumentation/events/jbd2.h:180:1:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
        872             02:35:35 DEBUG| [stdout]   180 | 
LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
        873             02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~~~~~~~~~~~~
        874             02:35:35 DEBUG| [stdout] In file included from 
./include/trace/events/jbd2.h:9,
        875             02:35:35 DEBUG| [stdout]                  from 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/lttng-probe-jbd2.c:18:
        876             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:245:28: note: previous definition of 
‘trace_jbd2_run_stats’ with type ‘void(dev_t,  tid_t,  struct 
transaction_run_stats_s *)’ {aka ‘void(unsigned int,  unsigned int,  struct 
transaction_run_stats_s *)’}
        877             02:35:35 DEBUG| [stdout]   245 |         static inline 
void trace_##name(proto)                          \
        878             02:35:35 DEBUG| [stdout]       |                        
    ^~~~~~
        879             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:419:9: note: in expansion of macro 
‘__DECLARE_TRACE’
        880             02:35:35 DEBUG| [stdout]   419 |         
__DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
        881             02:35:35 DEBUG| [stdout]       |         ^~~~~~~~~~~~~~~
        882             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:553:9: note: in expansion of macro ‘DECLARE_TRACE’
        883             02:35:35 DEBUG| [stdout]   553 |         
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
        884             02:35:35 DEBUG| [stdout]       |         ^~~~~~~~~~~~~
        885             02:35:35 DEBUG| [stdout] 
./include/trace/events/jbd2.h:248:1: note: in expansion of macro ‘TRACE_EVENT’
        886             02:35:35 DEBUG| [stdout]   248 | 
TRACE_EVENT(jbd2_run_stats,
        887             02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~
        888             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:133:6:
 error: conflicting types for ‘trace_jbd2_checkpoint_stats’; have ‘void(dev_t,  
long unsigned int,  struct transaction_chp_stats_s *)’ {aka ‘void(unsigned int, 
 long unsigned int,  struct transaction_chp_stats_s *)’}
        889             02:35:35 DEBUG| [stdout]   133 | void 
trace_##_name(_proto);
        890             02:35:35 DEBUG| [stdout]       |      ^~~~~~
        891             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:45:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
        892             02:35:35 DEBUG| [stdout]    45 |         
LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
        893             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        894             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/lttng/tracepoint-event-impl.h:87:9:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
        895             02:35:35 DEBUG| [stdout]    87 |         
LTTNG_TRACEPOINT_EVENT_MAP(name, name,                          \
        896             02:35:35 DEBUG| [stdout]       |         
^~~~~~~~~~~~~~~~~~~~~~~~~~
        897             02:35:35 DEBUG| [stdout] 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/../../include/instrumentation/events/jbd2.h:200:1:
 note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
        898             02:35:35 DEBUG| [stdout]   200 | 
LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
        899             02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~~~~~~~~~~~~
        900             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:245:28: note: previous definition of 
‘trace_jbd2_checkpoint_stats’ with type ‘void(dev_t,  tid_t,  struct 
transaction_chp_stats_s *)’ {aka ‘void(unsigned int,  unsigned int,  struct 
transaction_chp_stats_s *)’}
        901             02:35:35 DEBUG| [stdout]   245 |         static inline 
void trace_##name(proto)                          \
        902             02:35:35 DEBUG| [stdout]       |                        
    ^~~~~~
        903             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:419:9: note: in expansion of macro 
‘__DECLARE_TRACE’
        904             02:35:35 DEBUG| [stdout]   419 |         
__DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),              \
        905             02:35:35 DEBUG| [stdout]       |         ^~~~~~~~~~~~~~~
        906             02:35:35 DEBUG| [stdout] 
./include/linux/tracepoint.h:553:9: note: in expansion of macro ‘DECLARE_TRACE’
        907             02:35:35 DEBUG| [stdout]   553 |         
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
        908             02:35:35 DEBUG| [stdout]       |         ^~~~~~~~~~~~~
        909             02:35:35 DEBUG| [stdout] 
./include/trace/events/jbd2.h:296:1: note: in expansion of macro ‘TRACE_EVENT’
        910             02:35:35 DEBUG| [stdout]   296 | 
TRACE_EVENT(jbd2_checkpoint_stats,
        911             02:35:35 DEBUG| [stdout]       | ^~~~~~~~~~~
        912             02:35:35 DEBUG| [stdout] make[3]: *** 
[scripts/Makefile.build:257: 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes/lttng-probe-jbd2.o] Error 1
        913             02:35:35 DEBUG| [stdout] make[2]: *** 
[scripts/Makefile.build:474: 
/var/lib/dkms/lttng-modules/2.13.8/build/src/probes] Error 2
        914             02:35:35 DEBUG| [stdout] make[1]: *** 
[scripts/Makefile.build:474: /var/lib/dkms/lttng-modules/2.13.8/build/src] 
Error 2
        915             02:35:35 DEBUG| [stdout] make: *** [Makefile:1850: 
/var/lib/dkms/lttng-modules/2.13.8/build] Error 2
        916             02:35:35 DEBUG| [stdout] make: Leaving directory 
'/usr/src/linux-headers-5.19.0-42-generic'
        917             02:35:35 ERROR| Exception escaping from test:
        918             Traceback (most recent call last):
        919               File "/home/ubuntu/autotest/client/shared/test.py", 
line 378, in _exec
        920                 _cherry_pick_call(self.initialize, *args, **dargs)
        921               File "/home/ubuntu/autotest/client/shared/test.py", 
line 738, in _cherry_pick_call
        922                 return func(*p_args, **p_dargs)
        923               File 
"/home/ubuntu/autotest/client/tests/ubuntu_lttng_smoke_test/ubuntu_lttng_smoke_test.py",
 line 58, in initialize
        924                 raise error.TestError('DKMS failed to install')

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


-- 
Mailing list: https://launchpad.net/~lttng
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~lttng
More help   : https://help.launchpad.net/ListHelp

Reply via email to