Component: cognitum-agent mesh subsystem · firmware 0.22.7 (OTA) · Raspberry Pi seed
Summary
On 0.22.7, three mesh worker threads panic on every boot, the mesh receive path stays at 0 bytes, and the build is rejected by attestation — so seeds never sync and fleet rollups go stale.
Evidence
- Deterministic panics each boot (reproducible via
systemctl restart cognitum-agent):
mesh-bridge — src/cognitum-agent/src/mesh/mod.rs:353:69
mesh-keepalive — src/cognitum-agent/src/mesh/mod.rs:1028:84
mesh-sync — src/cognitum-agent/src/mesh/mod.rs:1276:25
GET /api/v1/mesh/status: connected_peers > 0 but total_bytes_received: 0 (MBs sent, nothing received); every peer is Relayed/Idle, connection_type: "None".
- Repeating log:
[mesh] WARNING: binary attestation UNKNOWN — control plane does not recognize this binary.
GET /api/v1/mesh/peers contains an entry whose device_id is non-UTF8 / corrupt — a likely trigger for the mod.rs:353 panic (unchecked parse/slice on peer identity).
Impact
Seed↔control-plane sync is dead; the agent keeps running with the mesh threads dead, so the device looks alive locally but never updates the fleet. High.
Asks
- Guard the peer-identity parse at
mesh/mod.rs:353 against malformed/non-UTF8 device_id.
- Investigate the one-way mesh (0 bytes received) on 0.22.7.
- Document/repair attestation allowlisting so OTA builds aren't flagged "unknown".
Component:
cognitum-agentmesh subsystem · firmware 0.22.7 (OTA) · Raspberry Pi seedSummary
On 0.22.7, three mesh worker threads panic on every boot, the mesh receive path stays at 0 bytes, and the build is rejected by attestation — so seeds never sync and fleet rollups go stale.
Evidence
systemctl restart cognitum-agent):mesh-bridge—src/cognitum-agent/src/mesh/mod.rs:353:69mesh-keepalive—src/cognitum-agent/src/mesh/mod.rs:1028:84mesh-sync—src/cognitum-agent/src/mesh/mod.rs:1276:25GET /api/v1/mesh/status:connected_peers> 0 buttotal_bytes_received: 0(MBs sent, nothing received); every peer isRelayed/Idle,connection_type: "None".[mesh] WARNING: binary attestation UNKNOWN — control plane does not recognize this binary.GET /api/v1/mesh/peerscontains an entry whosedevice_idis non-UTF8 / corrupt — a likely trigger for themod.rs:353panic (unchecked parse/slice on peer identity).Impact
Seed↔control-plane sync is dead; the agent keeps running with the mesh threads dead, so the device looks alive locally but never updates the fleet. High.
Asks
mesh/mod.rs:353against malformed/non-UTF8device_id.