← Back to team overview

lttng team mailing list archive

[Bug 2006755] [NEW] update jbd format for bionic 5.4 backports

 

Public bug reported:

[SRU Justification]

Impact: Upstream stable added a change in the format of jbd2 in 5.4.229.
This is incompatible with the current changes in the lttng-module for bionic 5.4 backports.

Fix: Picking 4 patches from upstream lttng-modules which handle the changed interface as well as add the required code to enable that change for other versions as well:
LTTNG_KERNEL_RANGE(5,4,229, 5,5,0)
LTTNG_KERNEL_RANGE(5,10,163, 5,11,0)
LTTNG_KERNEL_RANGE(5,15,87, 5,16,0)
LTTNG_KERNEL_RANGE(6,0,18, 6,1,0)
LTTNG_KERNEL_RANGE(6,1,4, 6,2,0)

Tescase: lttng-smoke-test will fail to compile with the error from
below. The error is from the main focal kernel because the derivates for
bionic were not cranked yet.

Regression potential: We may notice new failures in
ubuntu_lttng_smoke_test once this will compile and run.

760 	  	21:14:39 DEBUG| [stdout] In file included from /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/define_trace.h:87,
      761 	  	21:14:39 DEBUG| [stdout]                  from /var/lib/dkms/lttng-modules/2.12.5/build/probes/../instrumentation/events/lttng-module/jbd2.h:177,
      762 	  	21:14:39 DEBUG| [stdout]                  from /var/lib/dkms/lttng-modules/2.12.5/build/probes/lttng-probe-jbd2.c:29:
      763 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/lttng-tracepoint-event-impl.h:131:6: error: conflicting types for ‘trace_jbd2_run_stats’
      764 	  	21:14:39 DEBUG| [stdout]   131 | void trace_##_name(_proto);
      765 	  	21:14:39 DEBUG| [stdout]       |      ^~~~~~
      766 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/lttng-tracepoint-event-impl.h:43:2: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
      767 	  	21:14:39 DEBUG| [stdout]    43 |  LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
      768 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      769 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/lttng-tracepoint-event-impl.h:85:2: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
      770 	  	21:14:39 DEBUG| [stdout]    85 |  LTTNG_TRACEPOINT_EVENT_MAP(name, name,    \
      771 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
      772 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../instrumentation/events/lttng-module/jbd2.h:104:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
      773 	  	21:14:39 DEBUG| [stdout]   104 | LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
      774 	  	21:14:39 DEBUG| [stdout]       | ^~~~~~~~~~~~~~~~~~~~~~
      775 	  	21:14:39 DEBUG| [stdout] In file included from ./include/trace/events/jbd2.h:9,
      776 	  	21:14:39 DEBUG| [stdout]                  from /var/lib/dkms/lttng-modules/2.12.5/build/probes/lttng-probe-jbd2.c:18:
      777 	  	21:14:39 DEBUG| [stdout] ./include/linux/tracepoint.h:243:21: note: previous definition of ‘trace_jbd2_run_stats’ was here
      778 	  	21:14:39 DEBUG| [stdout]   243 |  static inline void trace_##name(proto)    \
      779 	  	21:14:39 DEBUG| [stdout]       |                     ^~~~~~
      780 	  	21:14:39 DEBUG| [stdout] ./include/linux/tracepoint.h:406:2: note: in expansion of macro ‘__DECLARE_TRACE’
      781 	  	21:14:39 DEBUG| [stdout]   406 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      782 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~~~
      783 	  	21:14:39 DEBUG| [stdout] ./include/linux/tracepoint.h:542:2: note: in expansion of macro ‘DECLARE_TRACE’
      784 	  	21:14:39 DEBUG| [stdout]   542 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      785 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~
      786 	  	21:14:39 DEBUG| [stdout] ./include/trace/events/jbd2.h:234:1: note: in expansion of macro ‘TRACE_EVENT’
      787 	  	21:14:39 DEBUG| [stdout]   234 | TRACE_EVENT(jbd2_run_stats,
      788 	  	21:14:39 DEBUG| [stdout]       | ^~~~~~~~~~~
      789 	  	21:14:39 DEBUG| [stdout] In file included from /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/define_trace.h:87,
      790 	  	21:14:39 DEBUG| [stdout]                  from /var/lib/dkms/lttng-modules/2.12.5/build/probes/../instrumentation/events/lttng-module/jbd2.h:177,
      791 	  	21:14:39 DEBUG| [stdout]                  from /var/lib/dkms/lttng-modules/2.12.5/build/probes/lttng-probe-jbd2.c:29:
      792 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/lttng-tracepoint-event-impl.h:131:6: error: conflicting types for ‘trace_jbd2_checkpoint_stats’
      793 	  	21:14:39 DEBUG| [stdout]   131 | void trace_##_name(_proto);
      794 	  	21:14:39 DEBUG| [stdout]       |      ^~~~~~
      795 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/lttng-tracepoint-event-impl.h:43:2: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
      796 	  	21:14:39 DEBUG| [stdout]    43 |  LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
      797 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      798 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/lttng-tracepoint-event-impl.h:85:2: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
      799 	  	21:14:39 DEBUG| [stdout]    85 |  LTTNG_TRACEPOINT_EVENT_MAP(name, name,    \
      800 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
      801 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../instrumentation/events/lttng-module/jbd2.h:124:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
      802 	  	21:14:39 DEBUG| [stdout]   124 | LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
      803 	  	21:14:39 DEBUG| [stdout]       | ^~~~~~~~~~~~~~~~~~~~~~
      804 	  	21:14:39 DEBUG| [stdout] In file included from ./include/trace/events/jbd2.h:9,
      805 	  	21:14:39 DEBUG| [stdout]                  from /var/lib/dkms/lttng-modules/2.12.5/build/probes/lttng-probe-jbd2.c:18:
      806 	  	21:14:39 DEBUG| [stdout] ./include/linux/tracepoint.h:243:21: note: previous definition of ‘trace_jbd2_checkpoint_stats’ was here
      807 	  	21:14:39 DEBUG| [stdout]   243 |  static inline void trace_##name(proto)    \
      808 	  	21:14:39 DEBUG| [stdout]       |                     ^~~~~~
      809 	  	21:14:39 DEBUG| [stdout] ./include/linux/tracepoint.h:406:2: note: in expansion of macro ‘__DECLARE_TRACE’
      810 	  	21:14:39 DEBUG| [stdout]   406 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
      811 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~~~
      812 	  	21:14:39 DEBUG| [stdout] ./include/linux/tracepoint.h:542:2: note: in expansion of macro ‘DECLARE_TRACE’
      813 	  	21:14:39 DEBUG| [stdout]   542 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
      814 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~
      815 	  	21:14:39 DEBUG| [stdout] ./include/trace/events/jbd2.h:282:1: note: in expansion of macro ‘TRACE_EVENT’
      816 	  	21:14:39 DEBUG| [stdout]   282 | TRACE_EVENT(jbd2_checkpoint_stats,
      817 	  	21:14:39 DEBUG| [stdout]       | ^~~~~~~~~~~
      818 	  	21:14:39 DEBUG| [stdout] make[2]: *** [scripts/Makefile.build:270: /var/lib/dkms/lttng-modules/2.12.5/build/probes/lttng-probe-jbd2.o] Error 1
      819 	  	21:14:39 DEBUG| [stdout] make[1]: *** [scripts/Makefile.build:519: /var/lib/dkms/lttng-modules/2.12.5/build/probes] Error 2
      820 	  	21:14:39 DEBUG| [stdout] make: *** [Makefile:1767: /var/lib/dkms/lttng-modules/2.12.5/build] Error 2
      821 	  	21:14:39 DEBUG| [stdout] make: Leaving directory '/usr/src/linux-headers-5.4.0-143-generic'
      822 	  	21:14:39 ERROR| Exception escaping from test:
      823 	  	Traceback (most recent call last):
      824 	  	  File "/home/ubuntu/autotest/client/shared/test.py", line 378, in _exec
      825 	  	    _cherry_pick_call(self.initialize, *args, **dargs)
      826 	  	  File "/home/ubuntu/autotest/client/shared/test.py", line 738, in _cherry_pick_call
      827 	  	    return func(*p_args, **p_dargs)
      828 	  	  File "/home/ubuntu/autotest/client/tests/ubuntu_lttng_smoke_test/ubuntu_lttng_smoke_test.py", line 58, in initialize
      829 	  	    raise error.TestError('DKMS failed to install')

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

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

** Also affects: lttng-modules (Ubuntu Bionic)
   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/2006755

Title:
  update jbd format for bionic 5.4 backports

Status in lttng-modules package in Ubuntu:
  New
Status in lttng-modules source package in Bionic:
  New

Bug description:
  [SRU Justification]

  Impact: Upstream stable added a change in the format of jbd2 in 5.4.229.
  This is incompatible with the current changes in the lttng-module for bionic 5.4 backports.

  Fix: Picking 4 patches from upstream lttng-modules which handle the changed interface as well as add the required code to enable that change for other versions as well:
  LTTNG_KERNEL_RANGE(5,4,229, 5,5,0)
  LTTNG_KERNEL_RANGE(5,10,163, 5,11,0)
  LTTNG_KERNEL_RANGE(5,15,87, 5,16,0)
  LTTNG_KERNEL_RANGE(6,0,18, 6,1,0)
  LTTNG_KERNEL_RANGE(6,1,4, 6,2,0)

  Tescase: lttng-smoke-test will fail to compile with the error from
  below. The error is from the main focal kernel because the derivates
  for bionic were not cranked yet.

  Regression potential: We may notice new failures in
  ubuntu_lttng_smoke_test once this will compile and run.

  760 	  	21:14:39 DEBUG| [stdout] In file included from /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/define_trace.h:87,
        761 	  	21:14:39 DEBUG| [stdout]                  from /var/lib/dkms/lttng-modules/2.12.5/build/probes/../instrumentation/events/lttng-module/jbd2.h:177,
        762 	  	21:14:39 DEBUG| [stdout]                  from /var/lib/dkms/lttng-modules/2.12.5/build/probes/lttng-probe-jbd2.c:29:
        763 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/lttng-tracepoint-event-impl.h:131:6: error: conflicting types for ‘trace_jbd2_run_stats’
        764 	  	21:14:39 DEBUG| [stdout]   131 | void trace_##_name(_proto);
        765 	  	21:14:39 DEBUG| [stdout]       |      ^~~~~~
        766 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/lttng-tracepoint-event-impl.h:43:2: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
        767 	  	21:14:39 DEBUG| [stdout]    43 |  LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
        768 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        769 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/lttng-tracepoint-event-impl.h:85:2: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
        770 	  	21:14:39 DEBUG| [stdout]    85 |  LTTNG_TRACEPOINT_EVENT_MAP(name, name,    \
        771 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
        772 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../instrumentation/events/lttng-module/jbd2.h:104:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
        773 	  	21:14:39 DEBUG| [stdout]   104 | LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
        774 	  	21:14:39 DEBUG| [stdout]       | ^~~~~~~~~~~~~~~~~~~~~~
        775 	  	21:14:39 DEBUG| [stdout] In file included from ./include/trace/events/jbd2.h:9,
        776 	  	21:14:39 DEBUG| [stdout]                  from /var/lib/dkms/lttng-modules/2.12.5/build/probes/lttng-probe-jbd2.c:18:
        777 	  	21:14:39 DEBUG| [stdout] ./include/linux/tracepoint.h:243:21: note: previous definition of ‘trace_jbd2_run_stats’ was here
        778 	  	21:14:39 DEBUG| [stdout]   243 |  static inline void trace_##name(proto)    \
        779 	  	21:14:39 DEBUG| [stdout]       |                     ^~~~~~
        780 	  	21:14:39 DEBUG| [stdout] ./include/linux/tracepoint.h:406:2: note: in expansion of macro ‘__DECLARE_TRACE’
        781 	  	21:14:39 DEBUG| [stdout]   406 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
        782 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~~~
        783 	  	21:14:39 DEBUG| [stdout] ./include/linux/tracepoint.h:542:2: note: in expansion of macro ‘DECLARE_TRACE’
        784 	  	21:14:39 DEBUG| [stdout]   542 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
        785 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~
        786 	  	21:14:39 DEBUG| [stdout] ./include/trace/events/jbd2.h:234:1: note: in expansion of macro ‘TRACE_EVENT’
        787 	  	21:14:39 DEBUG| [stdout]   234 | TRACE_EVENT(jbd2_run_stats,
        788 	  	21:14:39 DEBUG| [stdout]       | ^~~~~~~~~~~
        789 	  	21:14:39 DEBUG| [stdout] In file included from /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/define_trace.h:87,
        790 	  	21:14:39 DEBUG| [stdout]                  from /var/lib/dkms/lttng-modules/2.12.5/build/probes/../instrumentation/events/lttng-module/jbd2.h:177,
        791 	  	21:14:39 DEBUG| [stdout]                  from /var/lib/dkms/lttng-modules/2.12.5/build/probes/lttng-probe-jbd2.c:29:
        792 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/lttng-tracepoint-event-impl.h:131:6: error: conflicting types for ‘trace_jbd2_checkpoint_stats’
        793 	  	21:14:39 DEBUG| [stdout]   131 | void trace_##_name(_proto);
        794 	  	21:14:39 DEBUG| [stdout]       |      ^~~~~~
        795 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/lttng-tracepoint-event-impl.h:43:2: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
        796 	  	21:14:39 DEBUG| [stdout]    43 |  LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(map, name, map, PARAMS(proto), PARAMS(args))
        797 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        798 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../probes/lttng-tracepoint-event-impl.h:85:2: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_MAP’
        799 	  	21:14:39 DEBUG| [stdout]    85 |  LTTNG_TRACEPOINT_EVENT_MAP(name, name,    \
        800 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~
        801 	  	21:14:39 DEBUG| [stdout] /var/lib/dkms/lttng-modules/2.12.5/build/probes/../instrumentation/events/lttng-module/jbd2.h:124:1: note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT’
        802 	  	21:14:39 DEBUG| [stdout]   124 | LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
        803 	  	21:14:39 DEBUG| [stdout]       | ^~~~~~~~~~~~~~~~~~~~~~
        804 	  	21:14:39 DEBUG| [stdout] In file included from ./include/trace/events/jbd2.h:9,
        805 	  	21:14:39 DEBUG| [stdout]                  from /var/lib/dkms/lttng-modules/2.12.5/build/probes/lttng-probe-jbd2.c:18:
        806 	  	21:14:39 DEBUG| [stdout] ./include/linux/tracepoint.h:243:21: note: previous definition of ‘trace_jbd2_checkpoint_stats’ was here
        807 	  	21:14:39 DEBUG| [stdout]   243 |  static inline void trace_##name(proto)    \
        808 	  	21:14:39 DEBUG| [stdout]       |                     ^~~~~~
        809 	  	21:14:39 DEBUG| [stdout] ./include/linux/tracepoint.h:406:2: note: in expansion of macro ‘__DECLARE_TRACE’
        810 	  	21:14:39 DEBUG| [stdout]   406 |  __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
        811 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~~~
        812 	  	21:14:39 DEBUG| [stdout] ./include/linux/tracepoint.h:542:2: note: in expansion of macro ‘DECLARE_TRACE’
        813 	  	21:14:39 DEBUG| [stdout]   542 |  DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
        814 	  	21:14:39 DEBUG| [stdout]       |  ^~~~~~~~~~~~~
        815 	  	21:14:39 DEBUG| [stdout] ./include/trace/events/jbd2.h:282:1: note: in expansion of macro ‘TRACE_EVENT’
        816 	  	21:14:39 DEBUG| [stdout]   282 | TRACE_EVENT(jbd2_checkpoint_stats,
        817 	  	21:14:39 DEBUG| [stdout]       | ^~~~~~~~~~~
        818 	  	21:14:39 DEBUG| [stdout] make[2]: *** [scripts/Makefile.build:270: /var/lib/dkms/lttng-modules/2.12.5/build/probes/lttng-probe-jbd2.o] Error 1
        819 	  	21:14:39 DEBUG| [stdout] make[1]: *** [scripts/Makefile.build:519: /var/lib/dkms/lttng-modules/2.12.5/build/probes] Error 2
        820 	  	21:14:39 DEBUG| [stdout] make: *** [Makefile:1767: /var/lib/dkms/lttng-modules/2.12.5/build] Error 2
        821 	  	21:14:39 DEBUG| [stdout] make: Leaving directory '/usr/src/linux-headers-5.4.0-143-generic'
        822 	  	21:14:39 ERROR| Exception escaping from test:
        823 	  	Traceback (most recent call last):
        824 	  	  File "/home/ubuntu/autotest/client/shared/test.py", line 378, in _exec
        825 	  	    _cherry_pick_call(self.initialize, *args, **dargs)
        826 	  	  File "/home/ubuntu/autotest/client/shared/test.py", line 738, in _cherry_pick_call
        827 	  	    return func(*p_args, **p_dargs)
        828 	  	  File "/home/ubuntu/autotest/client/tests/ubuntu_lttng_smoke_test/ubuntu_lttng_smoke_test.py", line 58, in initialize
        829 	  	    raise error.TestError('DKMS failed to install')

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



Follow ups