A Sonic Pi sync on a non-existent cue tag blocks the loop forever without throwing any error
sync :tag in Sonic Pi blocks the current live_loop until a cue :tag (or another live_loop named :tag) fires. If the tag is misspelled, the cuing loop hasn’t started, or no loop ever emits that cue, the syncing loop blocks forever silently — it never throws an error, it just stops producing events. A live_loop automatically cues its own name each cycle, so sync :kick is satisfied if a loop named :kick is running. The fix is either to correct the tag spelling, ensure the cuing loop runs, or temporarily remove the sync to debug.
Examples
live_loop :bass, sync: :kick do; ... end — if no loop named :kick exists (or it is named :bd), :bass blocks forever producing silence with no error message.
Assessment
A Sonic Pi live_loop using sync is silent and produces no error. Name two possible causes and the diagnostic steps to distinguish them.