Reserve caseProadvancedCallback groups
The heartbeat stalls while diagnostics run
Keep the 20 Hz /heartbeat ticking on its MultiThreadedExecutor while a heavy /run_diagnostics service runs, without slowing diagnostics.
Pairs with Topics and message flow in ROS 2 Systems Debugging. Read the concept first, then diagnose it here.
Unlock this lab with ProOperator report
/heartbeat ticks steadily until /run_diagnostics is called, then freezes for ~3 s until diagnostics finish.
Ubuntu 24.04, ROS 2 Jazzy, Python and C++ nodes, browser telemetry workspace
System boundary
Trace only the relevant path.
heartbeat timerdefault callback group/heartbeat
How this lab works
You diagnose it — no command list.
Open the repair workspace and gather your own evidence in a real terminal. No diagnostic commands are handed to you — finding the fault is the exercise. Stuck? Progressive hints unlock inside the workspace.
Verification
Your repair must pass more than the visible symptom.
- Heartbeat gap under load stays below 600 ms
- Diagnostics service still completes successfully
- Hidden regression behavior
- Root cause explanation