Build-time tests fail if machine has a single CPU

Santiago Vila sanvila at debian.org
Mon Mar 9 13:10:08 EDT 2026


Hello.

When I try to build (the Debian package of) lttng-tools (which in
Debian is called ltt-control for the source package name) on AWS
instances of type m7a.medium or r7a.medium (which incidentally have a
single vCPU) I get the following error while running the tests:

make[7]: Entering directory '/<<PKGBUILDDIR>>/tests/regression'
FAIL: tools/lttng-ctl/test_robust_protocol.py 1 - test_simple - Exception: ('enable-channel --session session_lrmmg1mr --userspace channel_qmx5kx61 --buffer-allocation=per-cpu --buffer-ownership=user', '<?xml version="1.0" encoding="UTF-8"?>\n<command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/4/lttng-mi-4.2.xsd" schemaVersion="4.2"><name>enable-channel</name><output><channels/><success>false</success></output></command>\n', "Error: Exception when getting CPU count: Failed to parse possible CPU mask: mask_contents=`0\n`\nError: Not enough system memory available for channel 'channel_qmx5kx61'. At least 0MiB required, 0MiB available\n")
ERROR: tools/lttng-ctl/test_robust_protocol.py - exited with status 1
ERROR: ust/test_no_event_timestamps.py - Bail out! Missing 1 test cases
PASS: ust/ust-constructor/test_ust_constructor_cpp_static.py 1 - Create a session
FAIL: ust/ust-constructor/test_ust_constructor_cpp_static.py 2 - Add a channel to session `session_dx6uww4i`
ERROR: ust/ust-constructor/test_ust_constructor_cpp_static.py - Bail out! Missing 42 test cases
PASS: ust/ust-constructor/test_ust_constructor_cpp_dynamic.py 1 - Create a session
FAIL: ust/ust-constructor/test_ust_constructor_cpp_dynamic.py 2 - Add a channel to session `session_nwjtsjz6`
ERROR: ust/ust-constructor/test_ust_constructor_cpp_dynamic.py - Bail out! Missing 42 test cases
PASS: ust/ust-constructor/test_ust_constructor_c_static.py 1 - Create a session
FAIL: ust/ust-constructor/test_ust_constructor_c_static.py 2 - Add a channel to session `session_xwec7bzr`
ERROR: ust/ust-constructor/test_ust_constructor_c_static.py - Bail out! Missing 22 test cases
ERROR: ust/high-throughput/test_high_throughput_snapshot.py - Bail out! Missing 3 test cases
SKIP: ust/high-throughput/test_high_throughput.py 1 # SKIP : Long regression tests not enabled
ERROR: tools/client/test_reclaim_memory.py - Bail out! Missing 2 test cases
PASS: tests.serial 1 - Test script 'tools/base-path/test_ust' returned code 0. 42 passed, 0 failed, 0 skipped, 42 planned [total: 42]
FAIL: tests.serial 2 - Test script 'tools/channel/test_channel' returned code 1. 15 passed, 1 failed, 0 skipped, 16 planned [total: 16]
FAIL: tests.serial 3 - Test script 'tools/channel/test_cli_legacy_channel_buffering_policies.py' returned code 1. 0 passed, 0 failed, 0 skipped, 6 planned [total: 0]


Note 1: the message saying "Not enough system memory available" is
probably false, as the machine has 4GB or 8GB of RAM, and I don't get
those messages when using the same amount of memory with 2 CPUs.

Note 2: One way to reproduce this easily on any machine is to configure
GRUB with GRUB_CMDLINE_LINUX="nr_cpus=1".

Thanks.


More information about the lttng-dev mailing list