update jbd format for bionic 5.4 backports

Bug #2006755 reported by Roxana Nicolescu
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lttng-modules (Ubuntu)
Won't Fix
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned

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')

Revision history for this message
Roxana Nicolescu (roxanan) wrote :

Proposed fix is attached.

Tested on a local vm with kernel bionic-5.4

ubuntu@bionic-5:~/lttng$ dpkg -l | grep lttng-modules
ii lttng-modules-dkms 2.10.8-1ubuntu2~18.04.5 all Linux Trace Toolkit (LTTng) kernel modules (DKMS)

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "18.04.4-5.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Changed in lttng-modules (Ubuntu):
status: New → Invalid
status: Invalid → New
Revision history for this message
Roxana Nicolescu (roxanan) wrote :
Changed in lttng-modules (Ubuntu):
status: New → Won't Fix
Changed in lttng-modules (Ubuntu Bionic):
status: New → Won't Fix
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Roxana, or anyone else affected,

Accepted lttng-modules into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/lttng-modules/2.10.8-1ubuntu2~18.04.5 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-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. 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 Bionic):
status: Won't Fix → Fix Committed
tags: added: verification-needed verification-needed-bionic
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

bah, hit accept too early.. the upload on the queue had this bug ref on it

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (lttng-modules/2.10.8-1ubuntu2~18.04.5)

All autopkgtests for the newly accepted lttng-modules (2.10.8-1ubuntu2~18.04.5) for bionic have finished running.
The following regressions have been reported in tests triggered by the package:

lttng-modules/unknown (arm64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/bionic/update_excuses.html#lttng-modules

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lttng-modules - 2.10.8-1ubuntu2~18.04.5

---------------
lttng-modules (2.10.8-1ubuntu2~18.04.5) bionic; urgency=medium

  * Backport fixes to jbd2 format in 5.4.229 (LP: #2006755)
    - d/p/0016-fix-jbd2-use-the-correct-print-format.patch
    - d/p/0017-fix-jbd2-use-the-correct-print-format-v5.10.163.patch
    - d/p/0018-fix-jbd2-upper-bound-for-v5.10.163.patch
    - d/p/0019-fix-jbd2-use-the-correct-print-format-v5.4.229.patch

 -- Roxana Nicolescu <email address hidden> Fri, 10 Feb 2023 09:56:19 +0200

Changed in lttng-modules (Ubuntu Bionic):
status: Fix Committed → Fix Released
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.