[ANNOUNCE] stalld v1.28.1
Clark Williams <[email protected]> Wed, 17 Jun 2026 17:16:03 -0500
| Newsgroups | org.kernel.vger.linux-rt-users |
|---|---|
| Message-ID | <ajMco4CZyWrgwnNs@lysander> |
Hello,
stalld v1.28.1 is available at:
https://git.kernel.org/pub/scm/utils/stalld/stalld.git
tag: v1.28.1
This is a hardening and test reliability release. It contains 17 bug
fixes addressing buffer safety, data races, signal safety, type
correctness, and a logic error in starvation timing. There is one
behavioral change (--force_fifo rejection in single-threaded mode), one
BPF performance improvement (hash map replaces linear scan), and a
major test suite overhaul for reliability and speed.
Changes since v1.27.1:
Bug Fixes — stalld core:
Memory safety & buffer handling:
- Fix buffer underflow in read_proc_stat and sched_debug_get
- Fix uninitialized buffer use in find_debugfs_mount_point
- Fix missing null-termination in is_runnable
- Fix snprintf truncation check in is_runnable
- Remove NULL deref in fill_waiting_task error handler
Type correctness:
- Fix format string type mismatch for time_t
- Fix format string type mismatch in set_cpu_affinity
- Fix type mismatches in detect_task_format
Concurrency & signal safety:
- Fix data race on config_buffer_size
- Fix data race on thread_running
- Remove async-signal-unsafe calls from signal handler
- Check pthread_create return in both aggressive_main and
conservative_main
Logic fixes:
- Fix signed integer overflow in set_reservation
- Fix error return in queue_track_get_cpu
- Fix inverted DAEMON_UMASK value
- Guard nextline() returns in sched_debug parsing
- Use CLOCK_MONOTONIC for starvation detection
New behavior:
- Reject --force_fifo in single-threaded mode (runtime validation)
BPF:
- Replace linear task scan with hash map
Test infrastructure overhaul:
New helpers and assertions:
- assert_success(), assert_log_contains(), assert_stalld_rejects()
- find_starved_child(), cleanup_scenario(), test_section()
- wait_for_process_exit, process helpers, starvation/boost asserts
- init_functional_test() consolidation
Reliability fixes:
- Fix subshell swallowing test results
- Fix boost verification in runtime and duration tests
- Fix journal flush race in logging destinations test
- Fix async-signal-unsafe handler in tests
- Fix repeated log match finding same line
- Fix CPU selection grep substring matches
- Fix task exit timing in test_boost_restoration
Cleanup & speed:
- Remove dead code, redundant sleeps, weak/assertion-free test blocks
- Replace sleep-based waits with event waits
- Reduce starvation_gen durations and default wait timeouts
- Abort immediately on test failure
Chore:
- Remove legacy test infrastructure and stale docs
57 files changed, 969 insertions(+), 10781 deletions(-)
Contributors:
Clark Williams (2):
tests: Fix journal flush race in logging destinations test
stalld: bump version to 1.28.1
Wander Lairson Costa (52):
stalld: Reject --force_fifo in single-threaded mode
bpf: Replace linear task scan with hash map
stalld: 16 bug fixes (see above)
tests: 30 test infrastructure commits
chore: Remove legacy test infrastructure and stale docs
Clark
--
The United States Coast Guard
Ruining Natural Selection since 1790