Docs/Rack FX
When a plugin misbehaves
What happens when a plugin sends broken audio, crashes or hangs - and how you're playing again within seconds, with the same rack.
Plugins are made by many companies, and sooner or later one of them does something wrong. Shadow Rack can't stop that from happening, but it's built so that one plugin does as little damage as possible: broken audio never reaches the PA, after a crash Shadow Rack is back by itself within seconds with the same rack, and the plugin that caused the crash stays switched off until you switch it back on.
How it works, honestly#
Your plugins run inside Shadow Rack, in the same program, so they're as fast as possible. The price is that when a plugin crashes, Shadow Rack goes down with it – the sound through the rack stops until the app is back. Only two things run separately: checking new plugin files in Setup > Plugins (if a plugin crashes there, only a helper process goes down) and a small guard that watches Shadow Rack and starts it again.
Broken audio#
If a plugin suddenly sends garbage – "not a number" values, or audio louder than +24 dBFS – it's muted in the same audio block, before anything reaches the outputs. The channel keeps playing without that plugin.
The plugin is then shown bypassed with a BAD AUDIO pill, and a box explains: A plugin sent broken audio ... It was silenced at once so nothing reached the PA - the channel passes its sound without it. To give it another chance, switch it on again: it's reset first.
A crash#
When a plugin crashes:
- Shadow Rack closes. The guard sees it and starts it again straight away.
- Shadow Rack opens with exactly the same rack – from the automatic copy it keeps all the time.
- The plugin that crashed is switched off: it isn't loaded, and the channel plays through without it. Its row in the chain shows SWITCHED OFF and Crashed before - switched off.
- A box titled Shadow Rack was restarted says which plugin crashed and that it's switched off, so it can't happen again.
Every call into a plugin is tagged, and opening a plugin leaves a note on disk, so Shadow Rack knows which plugin it was - also while it was being opened. A crash in a plugin's own window or work is traced to the plugin by its code, when only one plugin on the rack has that code. If it can't tell for sure, it says Shadow Rack didn't close normally last time and switches nothing off.
The guard restarts Shadow Rack at most three times in three minutes. If something keeps crashing it straight away, it stops trying, and you start Shadow Rack by hand.
A hang#
A plugin can also freeze instead of crashing: it holds the audio and everything goes quiet. If a plugin keeps the audio busy for more than 4 seconds, Shadow Rack treats it like a crash: it ends itself and starts again without that plugin, rather than staying silent. A plugin that hangs while being opened, so that you have to force-quit Shadow Rack, is still recognised and switched off at the next start.
Bringing a plugin back#
A switched-off plugin stays off - in this session and wherever else it is - until you ask for it. Right-click it in the chain and choose Try loading again. That works for missing plugins too, after you install one.
Crash reports#
Every crash or hang is written down in ~/Library/Application Support/Shadow Rack/Crashes/ - the newest 30 are kept. A report says when it happened, which plugin Shadow Rack found to be the cause and whether it was being opened. A run that ended without a report (force quit, the power went, macOS ended it) is noted too.
If a plugin keeps crashing, send us its report together with the version and build number from Setup > About (the COPY button there copies a description of this Mac).
The other safeguards#
- No clicks when you change things. When you add, remove, move or bypass a plugin, the channel goes quiet for a few milliseconds or switches smoothly – never a click, even with lookahead plugins.
- The audio never waits for the screen. Loading a plugin, opening a big session or a slow tablet only make the screen wait.
- No sleep. While Shadow Rack runs, the Mac doesn't nap or sleep.
- Your interface stays chosen. If it's unplugged, Shadow Rack never falls back to the Mac's speakers or another interface; the top bar says Waiting for ... (unplugged?), and as soon as it's back (it looks every 3 seconds), it's used again.
- Quitting asks. ⌘Q or the window's close button always asks Quit Shadow Rack? first.
- Problems on opening - plugins that couldn't load - are listed in Some plugins could not be loaded, and the channels play through without them.
Something wrong or out of date on this page? Tell us
