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.
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 fail to compile with the error from below
Regression potential: We may notice regressions with lttng-modules on kernels < 5.4.229
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')
[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.
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: RANGE(5, 4,229, 5,5,0) RANGE(5, 10,163, 5,11,0) RANGE(5, 15,87, 5,16,0) RANGE(6, 0,18, 6,1,0) RANGE(6, 1,4, 6,2,0)
LTTNG_KERNEL_
LTTNG_KERNEL_
LTTNG_KERNEL_
LTTNG_KERNEL_
LTTNG_KERNEL_
Tescase: lttng-smoke-test fail to compile with the error from below
Regression potential: We may notice regressions with lttng-modules on kernels < 5.4.229
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, dkms/lttng- modules/ 2.12.5/ build/probes/ ../instrumentat ion/events/ lttng-module/ jbd2.h: 177, dkms/lttng- modules/ 2.12.5/ build/probes/ lttng-probe- jbd2.c: 29: dkms/lttng- modules/ 2.12.5/ build/probes/ ../probes/ lttng-tracepoin t-event- impl.h: 131:6: error: conflicting types for ‘trace_ jbd2_run_ stats’ #_name( _proto) ; dkms/lttng- modules/ 2.12.5/ build/probes/ ../probes/ lttng-tracepoin t-event- impl.h: 43:2: note: in expansion of macro ‘LTTNG_ TRACEPOINT_ EVENT_INSTANCE_ MAP’ T_EVENT_ INSTANCE_ MAP(map, name, map, PARAMS(proto), PARAMS(args)) ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ dkms/lttng- modules/ 2.12.5/ build/probes/ ../probes/ lttng-tracepoin t-event- impl.h: 85:2: note: in expansion of macro ‘LTTNG_ TRACEPOINT_ EVENT_MAP’ T_EVENT_ MAP(name, name, \ ~~~~~~~ ~~~~~~~ ~~~~~ dkms/lttng- modules/ 2.12.5/ build/probes/ ../instrumentat ion/events/ lttng-module/ jbd2.h: 104:1: note: in expansion of macro ‘LTTNG_ TRACEPOINT_ EVENT’ T_EVENT( jbd2_run_ stats, ~~~~~~~ ~~~~~~~ ~ trace/events/ jbd2.h: 9, dkms/lttng- modules/ 2.12.5/ build/probes/ lttng-probe- jbd2.c: 18: linux/tracepoin t.h:243: 21: note: previous definition of ‘trace_ jbd2_run_ stats’ was here linux/tracepoin t.h:406: 2: note: in expansion of macro ‘__DECLARE_TRACE’ TRACE(name, PARAMS(proto), PARAMS(args), \ linux/tracepoin t.h:542: 2: note: in expansion of macro ‘DECLARE_TRACE’ trace/events/ jbd2.h: 234:1: note: in expansion of macro ‘TRACE_EVENT’ jbd2_run_ stats, dkms/lttng- modules/ 2.12.5/ build/probes/ ../probes/ define_ trace.h: 87, dkms/lttng- modules/ 2.12.5/ build/probes/ ../instrumentat ion/events/ lttng-module/ jbd2.h: 177, dkms/lttng- modules/ 2.12.5/ build/probes/ lttng-probe- jbd2.c: 29: dkms/lttng- modules/ 2.12.5/ build/probes/ ../probes/ lttng-tracepoin t-event- impl.h: 131:6: error: conflicting types for ‘trace_ jbd2_checkpoint _stats’ #_name( _proto) ; dkms/lttng- modules/ 2.12.5/ build/probes/ ../probes/ lttng-tracepoin t-event- impl.h: 43:2: note: in expansion of macro ‘LTTNG_ TRACEPOINT_ EVENT_INSTANCE_ MAP’ T_EVENT_ INSTANCE_ MAP(map, name, map, PARAMS(proto), PARAMS(args)) ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ dkms/lttng- modules/ 2.12.5/ build/probes/ ../probes/ lttng-tracepoin t-event- impl.h: 85:2: note: in expansion of macro ‘LTTNG_ TRACEPOINT_ EVENT_MAP’ T_EVENT_ MAP(name, name, \ ~~~~~~~ ~~~~~~~ ~~~~~ dkms/lttng- modules/ 2.12.5/ build/probes/ ../instrumentat ion/events/ lttng-module/ jbd2.h: 124:1: note: in expansion of macro ‘LTTNG_ TRACEPOINT_ EVENT’ T_EVENT( jbd2_checkpoint _stats, ~~~~~~~ ~~~~~~~ ~ trace/events/ jbd2.h: 9, dkms/lttng- modules/ 2.12.5/ build/probes/ lttng-probe- jbd2.c: 18: linux/tracepoin t.h:243: 21: note: previous definition of ‘trace_ jbd2_checkpoint _stats’ was here linux/tracepoin t.h:406: 2: note: in expansion of macro ‘__DECLARE_TRACE’ TRACE(name, PARAMS(proto), PARAMS(args), \ linux/tracepoin t.h:542: 2: note: in expansion of macro ‘DECLARE_TRACE’ trace/events/ jbd2.h: 282:1: note: in expansion of macro ‘TRACE_EVENT’ jbd2_checkpoint _stats, Makefile. build:270: /var/lib/ dkms/lttng- modules/ 2.12.5/ build/probes/ lttng-probe- jbd2.o] Error 1 Makefile. build:519: /var/lib/ dkms/lttng- modules/ 2.12.5/ build/probes] Error 2 dkms/lttng- modules/ 2.12.5/ build] Error 2 linux-headers- 5.4.0-143- generic' ubuntu/ autotest/ client/ shared/ test.py" , line 378, in _exec pick_call( self.initialize , *args, **dargs) ubuntu/ autotest/ client/ shared/ test.py" , line 738, in _cherry_pick_call ubuntu/ autotest/ client/ tests/ubuntu_ lttng_smoke_ test/ubuntu_ lttng_smoke_ test.py" , line 58, in initialize ('DKMS failed to install')
761 21:14:39 DEBUG| [stdout] from /var/lib/
762 21:14:39 DEBUG| [stdout] from /var/lib/
763 21:14:39 DEBUG| [stdout] /var/lib/
764 21:14:39 DEBUG| [stdout] 131 | void trace_#
765 21:14:39 DEBUG| [stdout] | ^~~~~~
766 21:14:39 DEBUG| [stdout] /var/lib/
767 21:14:39 DEBUG| [stdout] 43 | LTTNG_TRACEPOIN
768 21:14:39 DEBUG| [stdout] | ^~~~~~~
769 21:14:39 DEBUG| [stdout] /var/lib/
770 21:14:39 DEBUG| [stdout] 85 | LTTNG_TRACEPOIN
771 21:14:39 DEBUG| [stdout] | ^~~~~~~
772 21:14:39 DEBUG| [stdout] /var/lib/
773 21:14:39 DEBUG| [stdout] 104 | LTTNG_TRACEPOIN
774 21:14:39 DEBUG| [stdout] | ^~~~~~~
775 21:14:39 DEBUG| [stdout] In file included from ./include/
776 21:14:39 DEBUG| [stdout] from /var/lib/
777 21:14:39 DEBUG| [stdout] ./include/
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/
781 21:14:39 DEBUG| [stdout] 406 | __DECLARE_
782 21:14:39 DEBUG| [stdout] | ^~~~~~~~~~~~~~~
783 21:14:39 DEBUG| [stdout] ./include/
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/
787 21:14:39 DEBUG| [stdout] 234 | TRACE_EVENT(
788 21:14:39 DEBUG| [stdout] | ^~~~~~~~~~~
789 21:14:39 DEBUG| [stdout] In file included from /var/lib/
790 21:14:39 DEBUG| [stdout] from /var/lib/
791 21:14:39 DEBUG| [stdout] from /var/lib/
792 21:14:39 DEBUG| [stdout] /var/lib/
793 21:14:39 DEBUG| [stdout] 131 | void trace_#
794 21:14:39 DEBUG| [stdout] | ^~~~~~
795 21:14:39 DEBUG| [stdout] /var/lib/
796 21:14:39 DEBUG| [stdout] 43 | LTTNG_TRACEPOIN
797 21:14:39 DEBUG| [stdout] | ^~~~~~~
798 21:14:39 DEBUG| [stdout] /var/lib/
799 21:14:39 DEBUG| [stdout] 85 | LTTNG_TRACEPOIN
800 21:14:39 DEBUG| [stdout] | ^~~~~~~
801 21:14:39 DEBUG| [stdout] /var/lib/
802 21:14:39 DEBUG| [stdout] 124 | LTTNG_TRACEPOIN
803 21:14:39 DEBUG| [stdout] | ^~~~~~~
804 21:14:39 DEBUG| [stdout] In file included from ./include/
805 21:14:39 DEBUG| [stdout] from /var/lib/
806 21:14:39 DEBUG| [stdout] ./include/
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/
810 21:14:39 DEBUG| [stdout] 406 | __DECLARE_
811 21:14:39 DEBUG| [stdout] | ^~~~~~~~~~~~~~~
812 21:14:39 DEBUG| [stdout] ./include/
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/
816 21:14:39 DEBUG| [stdout] 282 | TRACE_EVENT(
817 21:14:39 DEBUG| [stdout] | ^~~~~~~~~~~
818 21:14:39 DEBUG| [stdout] make[2]: *** [scripts/
819 21:14:39 DEBUG| [stdout] make[1]: *** [scripts/
820 21:14:39 DEBUG| [stdout] make: *** [Makefile:1767: /var/lib/
821 21:14:39 DEBUG| [stdout] make: Leaving directory '/usr/src/
822 21:14:39 ERROR| Exception escaping from test:
823 Traceback (most recent call last):
824 File "/home/
825 _cherry_
826 File "/home/
827 return func(*p_args, **p_dargs)
828 File "/home/
829 raise error.TestError