troubleshooting
Common errors
Error codes the desktop and cloud worker emit, with what they mean and how to resolve.
Spectra surfaces every error with a stable code. The codes are searchable across logs, support tickets, and the script-editor diagnostics.
Desktop errors
| Code | Meaning | Resolution |
|---|---|---|
| E_GPU_INIT | wgpu adapter selection failed | Reboot; if persistent, check that your GPU driver supports Vulkan/Metal/DX12. |
| E_BROKER_AUTH | Broker rejected your API key | Re-enter credentials; check that the key is read-write if you're trying to trade. |
| E_SCRIPT_BUDGET | Script exceeded its CPU/memory budget | See Sandbox limits; simplify the loop or request an extended budget. |
| E_DATA_GAP | Historical data feed has a gap at requested range | Different timeframe usually works; report the gap if reproducible. |
| E_WORKSPACE_CORRUPT | Saved workspace JSON failed to parse | Profile → Workspaces → Reset (deletes only that workspace; everything else stays). |
Cloud worker errors
These appear in webhook responses and Profile → Webhooks → Activity.
| Code | HTTP | Meaning |
|---|---|---|
| signature_invalid | 401 | HMAC mismatch. Check the body bytes you signed match what you POSTed. |
| timestamp_out_of_range | 401 | Sender clock drift > 5 min. Check NTP. |
| ip_not_allowed | 403 | IP allowlist excludes you. Add the source IP. |
| cap_breached | 403 | Daily-loss cap breached. Wait until next 00:00 broker tz, or reset manually. |
| secret_paused | 403 | Admin or auto-paused. Check Activity for cause. |
| idempotent_replay | 200 | Same client_id seen in last 24 h. Returns the original outcome. |
| replay_attack | 409 | Same (timestamp, body) seen recently. Sender bug or attack. |
| rate_limited | 429 | > 1 req/sec/secret. Back off. |
| broker_rejected | 502 | Broker returned non-2xx. Body includes broker's reason. |
Script-editor errors
The bytecode VM compiler emits errors with line + column. The most common:
type_mismatch— the operands don't have compatible types. Inspect the inferred types viaEditor → Inspect(Cmd+I).unbound_identifier— typo or missinglet.arity_error— wrong number of arguments to a built-in.series_index_negative—series[N]requiresN >= 0.
Reporting
If an error reproduces with steps, file at [email protected] including the error code, the build version (Help → About → Copy diagnostic), and the workspace export if relevant.