Hello Kienan,

I've continued investigating my issue and discovered something new that might shed some light. Here's the rundown:

1. To ensure my add-ons weren't causing problems, deleted all old modules and I followed the documentation on the LTTng website (https://lttng.org/docs/v2.13/#doc-building-from-source) and downloaded `lttng-modules-2.13.13`.

2. Inside the downloaded folder, I successfully executed `make KERNELDIR=/usr/src/linux-source-6.5.0` without any issues.

3. Subsequently, I ran `make KERNELDIR=/usr/src/linux-source-6.5.0 modules_install`, which also completed successfully.

4. After that, I updated the module dependencies using `sudo depmod -a`, which went fine.

However, when I tried to load a module, such as `sudo modprobe lttng-probe-kvm`, it reported that the module couldn't be found at `/lib/modules/6.5.0-41-generic/`. Upon checking the logs, I confirmed that step 3 had installed the modules in `/lib/modules/6.5.0/`.

To address this, I modified step 3 to simply `make modules_install`, which then installed the modules correctly at `/lib/modules/6.5.0-41-generic/` and ran again step 4. But now, when attempting to load a module, I'm encountering the error `modprobe: ERROR: could not insert 'lttng_probe_kvm': Exec format error`.

Do you have any insights or ideas on what might be causing this issue?

Thanks again for your assistance.



 
















Le mar. 16 juill. 2024, à 09 h 05, Kienan Stewart <kstewart@efficios.com> a écrit :
Hi François,

On 7/15/24 6:10 PM, François Belias via lttng-dev wrote:
> Hello,
>
> I'm currently running Linux kernel version 6.5.0-41-generic and
> attempting to install LTTng from source. Here are the steps I followed:
>
>   - I cloned the LTTng git repository to my computer from
> [https://github.com/lttng/lttng-modules.git](https://github.com/lttng/lttng-modules.git) <https://github.com/lttng/lttng-modules.git](https://github.com/lttng/lttng-modules.git)>.
> - Downloaded the kernel source tree corresponding to my kernel version
> to enable compilation.
> - Executed `make KERNELDIR=/path/to/my/linux/source`, which was
> completed successfully.
> - Ran `make KERNELDIR=/path/to/my/linux/source modules_install`, also
> without any issues.
> - Finally, I executed `sudo depmod -a`, which was completed successfully.
>
> However, when I attempt to load a module with commands like `sudo
> modprobe lttng-ketprobes` or "sudo modprobe lttng-tracer", I encounter
> the following errors:
>
> - For `lttng-ketprobes`: `modprobe: FATAL: Module lttng-ketprobes not
> found in directory /lib/modules/6.5.0-41-generic`.
> - For `lttng-tracer`: `modprobe: ERROR: could not insert 'lttng_tracer':
> Exec format error`.

If you rebuilt modules on the master branch as of yesterday you may need
to clean the LTTng modules install directory, rebuild, and reinstall.

This is due to kprobes, kretprobes, and uprobes modules being included
in the tracer core module. C.f.
https://github.com/lttng/lttng-modules/commit/0c2c6606eb66cb5222ab7a2a4f8329fd5dfdef70

You may want to stick with running lttng-modules 2.13.x which will not
have breaking changes merged in.

The exec format error also could be due to modules that are installed
but built against a different version of the Linux kernel.

A few things to check

- If your kernel has been upgraded recently, ensure the new kernel is
the one actually running
- If the modules haven't been rebuilt since the upgrade, they should be
rebuilt and reinstalled
- As I recall, you are playing around with some addon modules - do any
of those modules define dependencies on the kprobes, kretprobes, or
uprobes modules which now are no longer produced by builds of the master
branch

Is there further information in dmesg or journalctl regarding the module
loading?

hope this helps.

thanks,
kienan

>
> I've confirmed that the modules exist but can't load them. I'm unsure
> how to resolve these issues. Could someone please assist me?
>
> Thank you.
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev@lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev