Story: Valgrind leaks follow-up
Table of Contents
This page documents a story in Sprint 05. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
Close out the BLOCKED OpenSSL leaks from sprint 03's
logging_and_observability, and clean up the new leaks discovered
since (sqlgen residuals, real leaks in ores.comms tests).
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 05 |
| Now | Completed 2025-11-25. |
| Waiting on | None. |
| Next | None. |
| Last touched | 2025-11-25 |
Continued from: Logging and observability.
Acceptance
- OpenSSL initialisation leaks suppressed (LLM-confirmed as benign).
- Residual sqlgen leaks understood; suppressed or upstream-fixed.
ores.comms.testsruns clean under Valgrind.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Resolve all of the OpenSSL leaks in Valgrind | DONE | 2025-11-25 | 2025-11-25 | Suppress the OpenSSL initialisation leaks (LLM-confirmed as benign) — closes sprint 03's BLOCKED follow-up. |
| Investigate Valgrind leak on sqlgen | DONE | 2025-11-25 | 2025-11-25 | Triage the remaining sqlgen-flavoured leaks; confirm upstream fixes have landed. |
| Fix Valgrind leaks for comms tests | DONE | 2025-11-25 | 2025-11-25 | Real leaks surfaced in the ores.comms test suite; fix them and confirm Valgrind is clean. |
Decisions
- Suppress, don't chase
- OpenSSL initialisation memory lives until process exit. Suppress with a documented reason rather than chasing a non-leak.
- Real leaks fixed at source
ores.commstest leaks are ours; fix them rather than suppress.
Out of scope
- Sanitizer (ASan / TSan) coverage — separate concern.
See also
- Logging and observability (sprint 03) — predecessor story.
- Build stabilisation (sprint 02) — first added Valgrind suppressions.