fix build issue for v5.19 kernels (jammy-hwe, kinetic, lunar-riscv)

Bug #2017006 reported by Roxana Nicolescu
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Medium
Roxana Nicolescu
Focal
Invalid
Undecided
Roxana Nicolescu
Jammy
Invalid
Undecided
Roxana Nicolescu
Kinetic
Invalid
Undecided
Roxana Nicolescu
Lunar
Invalid
Undecided
Roxana Nicolescu
Mantic
Invalid
Medium
Roxana Nicolescu
lttng-modules (Ubuntu)
Won't Fix
Medium
Roxana Nicolescu
Jammy
Won't Fix
Undecided
Unassigned
Kinetic
Won't Fix
Undecided
Unassigned
Lunar
Won't Fix
Medium
Roxana Nicolescu

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 fall back to the old declaration. The reason 5.19 is not there is probably because this version has reached end of life last year.

Build logs:
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')

[ Fix ]

Initially, we tried adding a new interval [5.19.0 - 5.19.19]. But because 5.19.0 is not maintained upstream and there are no stable fixes from there, the actual upstream version has remained unchanged since last year. It is currently 5.19.17. Therefore we can use this version to make a distinction between kernels that have this commit and the ones that do not have it and it won't be compatible with older versions.

We expose the abi version of the kernel, but it alone will not solve
this issue because we deliver many derivatives, each with its own
version. Hence a base main abi version needs to be exposed in the headers.

Therefore this requires 2 steps:
1. Expose UTS_UBUNTU_BASE_RELEASE_ABI variable equal with the parent abi in <generated/utsrelease.h>. For backports with multiple inheritance (like
jammy:linux-aws-5.19) the version from debian.master (kinetic:linux)
will be used. In case there is no inheritance, the actual kernel abi
will be used. This is needed for jammy, kinetic and lunar but it may be needed in the future for similar use cases, so it will be pushed to all releases.
2. Use this variable in the lttng-module to construct LTTNG_UBUNTU_BASE_VERSION_CODE and then use it for versioning:
LTTNG_UBUNTU_BASE_VERSION_CODE >= LTTNG_UBUNTU_KERNEL_VERSION(5,19,0,42)
The lttng-module fix will be done only for lunar, kinetic, and jammy.

Attached there is a patch with the proposed solution, debdiffs for kinetic, lunar and jammy will be attached separately.

This requires a new release for kinetic and jammy because jammy 5.19 backports are affected as well. Also lunar, because some riscv kernels are still on 5.19 as well.

[ Where problems would occur ]

We may notice new failures in ubuntu_lttng_smoke_test once this compiles and run. But it was tested locally and the results were good, so the probability is very very low. Hopefully this time it is fully backward compatible.

[ Test Plan ]
Since we hit backward issues in the past, multiple kernel versions were used to make sure this is the proper fix.
General test instructions:
1. Install kinetic (disired version)
2. sudo apt install lttng-modules-dkms
3. Depending on the version it may work or not
4. Additionally lttng-modules regression test should be triggered to confirm everything works file.

Steps to run rt:
# Install packages for autotest
sudo apt-get install git python2 gdb python-yaml -y || sudo apt-get install git python gdb python-yaml -y
# Enable deb-src
sudo sed -i 's/^# deb-src/deb-src/' /etc/apt/sources.list
sudo apt-get update
git clone --depth=1 https://git.launchpad.net/~canonical-kernel-team/+git/autotest
git clone --depth=1 https://git.launchpad.net/~canonical-kernel-team/+git/autotest-client-tests
rm -fr autotest/client/tests
ln -sf ~/autotest-client-tests autotest/client/tests
AUTOTEST_PATH=/home/ubuntu/autotest sudo -E autotest/client/autotest-local --verbose autotest/client/tests/ubuntu_lttng_smoke_test/control

My testing:
A. I built a kinetic kernel where I expose UTS_UBUNTU_BASE_RELEASE_ABI
Results:
ubuntu@kinetic:~/lttng-modules$ dpkg -l | grep lttng-modules
ii lttng-modules-dkms 2.13.8-1~ubuntu22.10.2 all Linux Trace Toolkit (LTTng) kernel modules (DKMS)
RT results:
09:32:05 INFO | Found 325223 dd and 390615 context switches
09:32:05 INFO | PASSED (simple system call tracing with babeltrace)
09:32:05 INFO |
09:32:05 INFO | Summary: 7 passed, 0 failed
B. The break commit was introduced in 5.19.0.42. Versions between 42 and 45(hopefully this will land in the next release) will break.
C. Tested with a kernel version that does not have the break commit: 5.19.0-41 to see if it's backwards compatible.
ubuntu@kinetic:~$ uname -a
Linux kinetic 5.19.0-41-generic #42-Ubuntu SMP PREEMPT_DYNAMIC Mon Apr 17 19:17:03 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
ubuntu@kinetic:~/lttng-modules$ dpkg -l | grep lttng-modules
ii lttng-modules-dkms 2.13.8-1~ubuntu22.10.2 all Linux Trace Toolkit (LTTng) kernel modules (DKMS)
D. Tested with jammy-aws-5.19 that has the commit with the fix:
ubuntu@jammmy-lttng:~/lttng$ uname -a
Linux jammmy-lttng 5.19.0-1027-aws #28~22.04.1 SMP Mon Jun 5 08:27:20 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
~
Build is fine
ubuntu@jammmy-lttng:~/lttng$ sudo dpkg -l | grep lttng
ii lttng-modules-dkms 2.13.8-1~ubuntu22.04.2 all Linux Trace Toolkit (LTTng) kernel modules (DKMS)
E. Tested with linux-aws-5.19.0-1024 to see backwards compatibility
ubuntu@jammmy-lttng:~/lttng$ sudo dpkg -l | grep lttng
ii lttng-modules-dkms 2.13.8-1~ubuntu22.04.2 all Linux Trace Toolkit (LTTng) kernel modules (DKMS)
ubuntu@jammmy-lttng:~/lttng$ uname -a
Linux jammmy-lttng 5.19.0-1024-aws #25~22.04.1-Ubuntu SMP Tue Apr 18 23:41:58 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

description: updated
tags: added: sru-20230417
Changed in lttng-modules (Ubuntu):
assignee: nobody → Roxana Nicolescu (roxanan)
importance: Undecided → Medium
Revision history for this message
Roxana Nicolescu (roxanan) wrote :

Kinetic fix is attached.

Tested on a VM with the latest kinetic version : 5.19.0-42-generic
ubuntu@kinetic:~/lttng-modules$ dpkg -l | grep lttng-modules
ii lttng-modules-dkms 2.13.8-1~ubuntu22.10.1 all Linux Trace Toolkit (LTTng) kernel modules (DKMS)

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

jammy fix is attached.

Tested on a VM with a modified jammy:hwe-5.19 kernel where I pushed the commit that broke the interface from kinetic:master-next 2d943ad8b82530e73370c9caeb07954ad8c3492c
"jbd2: use the correct print format"

ubuntu@jammy-generic:~/lttng-modules$ dpkg -l | grep lttng-modules
ii lttng-modules-dkms 2.13.8-1~ubuntu22.04.1 all Linux Trace Toolkit (LTTng) kernel modules (DKMS)

description: updated
Changed in lttng-modules (Ubuntu Lunar):
status: New → Fix Released
status: Fix Released → New
description: updated
summary: - fix build issue for kinetic
+ fix build issue for v5.19 kernels (jammy-hwe, kinetic, lunar-riscv)
Changed in lttng-modules (Ubuntu Lunar):
status: New → In Progress
Changed in lttng-modules (Ubuntu Kinetic):
status: New → In Progress
Changed in lttng-modules (Ubuntu Jammy):
status: New → In Progress
Revision history for this message
Steve Langasek (vorlon) wrote :

Please fill out the bug description according to the SRU template as described at
https://wiki.ubuntu.com/StableReleaseUpdates#SRU_Bug_Template

Changed in lttng-modules (Ubuntu Lunar):
status: In Progress → Incomplete
description: updated
description: updated
Changed in lttng-modules (Ubuntu Lunar):
status: Incomplete → In Progress
Changed in lttng-modules (Ubuntu):
status: Incomplete → In Progress
description: updated
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Roxana, or anyone else affected,

Accepted lttng-modules into lunar-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/lttng-modules/2.13.8-1ubuntu1 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-lunar to verification-done-lunar. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-lunar. 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 Lunar):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-lunar
Changed in lttng-modules (Ubuntu Kinetic):
status: In Progress → Fix Committed
tags: added: verification-needed-kinetic
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Roxana, or anyone else affected,

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

Hello Roxana, or anyone else affected,

Accepted lttng-modules into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/lttng-modules/2.13.8-1~ubuntu22.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-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. 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.

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (lttng-modules/2.13.8-1~ubuntu22.10.1)

All autopkgtests for the newly accepted lttng-modules (2.13.8-1~ubuntu22.10.1) for kinetic have finished running.
The following regressions have been reported in tests triggered by the package:

lttng-modules/2.13.8-1~ubuntu22.10.1 (amd64, arm64, armhf, ppc64el, s390x)

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/kinetic/update_excuses.html#lttng-modules

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

Thank you!

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

This fix is not compatible with older versions of kinetic or jammy backports.
The problem is the kernel version is the same for kernels that contain the commit
"jbd2: use the correct print format".
and kernels that don't: 5.19.17.
Therefore we cannot use the kernel version to differentiate between them (by using solely LTTNG_KERNEL_VERSION).

Luckily, in "include/lttng/kernel-version.h" I found LTTNG_UBUNTU_KERNEL_VERSION and LTTNG_UBUNTU_VERSION_CODE so we can filter based on the actual Ubuntu kernel version.

BUT, another problem is that we deliver a bunch of derivatives with this commit, so we need to specify multiple ubuntu versions and match them based on the kernel type.

For example, this fix is added in 5.19.0-42-generic, but also in 5.19.0-1025-aws, and 5.19.0-1023-kvm.
We need specific intervals something like this:
KERNEL_TYPE("generic") && LTTNG_UBUNTU_VERSION_CODE >= 5.19.0-42 ||
KERNEL_TYPE("aws") && LTTNG_UBUNTU_VERSION_CODE >= 5.19.0-1025 ||
KERNEL_TYPE("kvm") && LTTNG_UBUNTU_VERSION_CODE >= 5.19.0-1024)

KERNEL_TYPE can be extracted from <generated/utsrelease>
UTS_RELEASE variable.
I'll ask around for some feedback on this.

In the meantime, because this fix has introduced a regression for older kernels (5.19-0-41-generic) I'll mark testing as failed.

tags: added: verification-failed-jammy verification-failed-kinetic verification-failed-lunar
removed: verification-needed-jammy verification-needed-kinetic verification-needed-lunar
Revision history for this message
Roxana Nicolescu (roxanan) wrote :

In the meant I thought about a simpler solution that requires:
1. exposing an abi base version for the main parent from the linux kernel
2. and then use the interval in the lttng-module.

I will submit a new debdiff once I have enough acks in the kernel for exporting this new variable.

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 2017006

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu Jammy):
status: New → Incomplete
Changed in linux (Ubuntu Kinetic):
status: New → Incomplete
Changed in linux (Ubuntu Lunar):
status: New → Incomplete
Revision history for this message
Roxana Nicolescu (roxanan) wrote :
description: updated
description: updated
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
importance: Undecided → Medium
Changed in linux (Ubuntu Jammy):
status: Incomplete → Confirmed
Changed in linux (Ubuntu Kinetic):
status: Incomplete → Confirmed
Changed in linux (Ubuntu Lunar):
status: Incomplete → Confirmed
no longer affects: lttng-modules (Ubuntu Focal)
no longer affects: lttng-modules (Ubuntu Mantic)
Changed in linux (Ubuntu Focal):
assignee: nobody → Roxana Nicolescu (roxanan)
status: New → In Progress
Changed in linux (Ubuntu Jammy):
assignee: nobody → Roxana Nicolescu (roxanan)
status: Confirmed → In Progress
Changed in linux (Ubuntu Kinetic):
assignee: nobody → Roxana Nicolescu (roxanan)
status: Confirmed → In Progress
Changed in linux (Ubuntu Lunar):
assignee: nobody → Roxana Nicolescu (roxanan)
status: Confirmed → In Progress
Changed in linux (Ubuntu Mantic):
assignee: nobody → Roxana Nicolescu (roxanan)
status: Confirmed → In Progress
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Proposed package removed from archive

The version of lttng-modules in the proposed pocket of Kinetic that was purported to fix this bug report has been removed because one or more bugs that were to be fixed by the upload have failed verification and been in this state for more than 10 days.

Changed in lttng-modules (Ubuntu Kinetic):
status: Fix Committed → Confirmed
Changed in lttng-modules (Ubuntu):
status: In Progress → Won't Fix
Changed in lttng-modules (Ubuntu Jammy):
status: Fix Committed → Won't Fix
Changed in lttng-modules (Ubuntu Kinetic):
status: Confirmed → Won't Fix
Changed in lttng-modules (Ubuntu Lunar):
status: Fix Committed → Won't Fix
Changed in linux (Ubuntu Focal):
status: In Progress → Invalid
Changed in linux (Ubuntu Jammy):
status: In Progress → Invalid
Changed in linux (Ubuntu Kinetic):
status: In Progress → Invalid
Changed in linux (Ubuntu Lunar):
status: In Progress → Invalid
Changed in linux (Ubuntu Mantic):
status: In Progress → Invalid
Revision history for this message
Roxana Nicolescu (roxanan) wrote :

The solution suggested above was rejected on the kernel when I submitted the change where we expose the parent kernel abi https://lists.ubuntu.com/archives/kernel-team/2023-June/140090.html
This led to a new proposal that would introduce a configure script used during build (or before) and it would automatically detect the signature changes in the linux header. This solution would remove the need for versioning.
Since this change is a deviation from upstream, I sent it there but it was rejected. You can see the discussion here https://<email address hidden>/T/#t.
They are not willing to change an approach that works most of the time for our particular use case because it would be difficult for them to maintain the new change, even though I volunteer to help them maintain the configure script...

I went back to our kernel mailing list and suggested to go back to my original proposal but it was still rejected. Discussion is here https://lists.ubuntu.com/archives/kernel-team/2023-July/140822.html

Conclusion: Lttng-module upstream refused to accept a better proposal of dealing with changes in linux kernel headers and the solution where we expose a kernel abi is gonna add technical debt to our kernel and it's not worth doing it for a kernel that's gonna be EOL soon. And as for jammy and lunar kernels, they should be replaced soon by 6.2 kernels.

I am not sure how I should try again convincing upstream, but I will at some point.

Revision history for this message
Steve Langasek (vorlon) wrote :

The version of lttng-modules in the proposed pocket of Jammy that was purported to fix this bug report has been removed because one or more bugs that were to be fixed by the upload have failed verification and been in this state for more than 10 days.

Revision history for this message
Steve Langasek (vorlon) wrote :

The version of lttng-modules in the proposed pocket of Lunar that was purported to fix this bug report has been removed because one or more bugs that were to be fixed by the upload have failed verification and been in this state for more than 10 days.

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.