Crash Reports
If Aether panics, the process tries to write a crash log before exiting. Sending that log is the fastest path to a fix.
Where Logs Live
~/Library/Logs/Aether/
Each crash writes a file named crash-<unix-timestamp>.log. The newest file is the most recent crash. Open Finder and paste the path into Go → Go to Folder… (Shift-Cmd-G) to jump there.
Regular tracing output also lives in this directory (journal-<timestamp>.log). These hold startup info, user actions, and DSP events at the configured log level. Useful for reproducing a bug, less urgent than the crash file.
What a Crash Log Contains
- Panic location. The Rust file and line where the panic originated.
- Panic message. The failed assertion, unwrap, or explicit panic message.
- Version. The
CARGO_PKG_VERSION(0.1.0) - knowing which binary crashed matters when multiple builds circulate. - OS and arch. macOS version, Apple Silicon vs Intel.
- Backtrace. Full Rust backtrace captured with
force_capture, so panics inside library code are still legible.
No project file contents, no network state, no identifying system info beyond OS/arch. The log is safe to email.
Reporting
Attach the log to an email to hello@voidrealm.com. Include:
- What was happening. "Just pressed Play on my granular patch" is better than "it crashed".
- The project file if the crash reproduces on open. Drag the
.aetherfile in as an attachment. - The last-modified log (
journal-<timestamp>.log) if the crash came after a specific action - the tracing trail above the panic is often what points at the bug.
A reply follows within a few days in most cases.
Audio-Thread Panics
Aether wraps the audio callback in catch_unwind. If DSP code panics, the audio thread does not bring the whole process down - instead, the output is silenced for the rest of the session. A caught audio-thread panic does not produce a crash-*.log file (the global panic hook only fires for uncaught panics that terminate the process). Instead, look in the current journal-<timestamp>.log for the line audio callback panicked - stream silenced for remainder of session and the panic context around it.
Disabling Tracing
If logs are growing too large or taking too long to rotate, set RUST_LOG=warn in the environment before launch:
RUST_LOG=warn /Applications/Aether.app/Contents/MacOS/aether
Startup from Finder uses the default info level; launching from Terminal with the environment variable drops to warn-and-above. Crash logs always write regardless of RUST_LOG - the panic hook runs independently of the tracing subscriber.
Related
- No Audio - audio went silent with no crash log written.
- Project Won't Open - project-file failures that do not trigger a panic.