Story: Hotfix: Valgrind flags compute host ram_mb/credit_total read uninitialized
Table of Contents
This page documents a story in Sprint 25. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
1. Goal
Default-constructed compute host domain objects must not hold indeterminate values in their non-nullable numeric members.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 25 |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-09-07 |
3. Acceptance
- The host entity org declares :default_value: 0 for ram_mb and credit_total, alongside their :default: 0.
- Regenerated host.hpp and host_entity.hpp emit = 0 initializers for both members; no other file changes.
- The compute-cpp drift check is clean.
- The host eventing integration test runs under valgrind with zero errors; the full preset build and ctest suite are green.
4. Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Declare C++ default values for the compute host ram_mb and credit_total members | DONE | 2026-09-07 | 2026-09-07 | Add :default_value: 0 to the ram_mb and credit_total member property blocks in the compute host entity org, regenerate compute-cpp so both domain headers emit member initializers, and prove the valgrind DA defect is gone. |
5. Decisions
:default_value:is the codegen member-initializer key;:default:is SQL-side semantics. Non-bool/int members with a SQL default need an explicit:default_value:or the generated C++ member stays indeterminate.
6. Out of scope
- The systemic codegen gap:
core.pysynthesizes a C++ member initializer only forboolandintcpp_types, so any int64_t/double non-nullable member without an explicit:default_value:silently stays indeterminate — the very configuration this hotfix fixes by hand for two members. Closing the gap (synthesizing = 0= for all arithmetic types, or failing codegen on a non-nullable arithmetic member without:default_value:) is a separate codegen task, deliberately not part of this hotfix.