macOS: voicebox-server stuck in `loading_model` indefinitely + server doesn't exit when app is closed
Environment
- VoiceBox Version: Latest
- OS: macOS (Apple Silicon M1 Max, 10 cores)
- RAM: 32GB+
- GPU: Apple Silicon MPS (backend_variant: cpu)
Bug 1: Generation stuck in loading_model indefinitely
Steps to Reproduce
- Open VoiceBox
- Start a voice cloning generation
- The generation status shows
loading_modeland stays there indefinitely (8+ hours)
Actual Behavior
- The generation record in
voicebox.dbhasstatus = 'loading_model'with no error message voicebox-serverprocess shows ~0.1% CPU (essentially idle) and ~1.4GB memory (model loaded into RAM)- The
/capture/readinessendpoint shows TTS LLM ready but STT (Whisper) not ready:{"stt":{"ready":false,"model_name":"whisper-turbo"},"llm":{"ready":true,"model_name":"qwen3-0.6b"}}
The server never progresses past loading_model and never times out or reports an error The frontend UI shows a perpetual loading spinner with no way to cancel Expected Behavior Model loading should either complete or fail with a clear error within a reasonable timeout The user should be able to cancel a stuck generation Bug 2: voicebox-server doesn't exit when the app is closed Steps to Reproduce Open VoiceBox, let voicebox-server start on port 17493 Close VoiceBox (Cmd+Q or click the red close button) Check running processes: ps aux | grep voicebox Actual Behavior The frontend Tauri shell exits immediately voicebox-server (with --parent-pid <frontend_pid>) remains running, still listening on port 17493 When reopening VoiceBox, the new voicebox-server can't bind port 17493, resulting in "Server startup failed / Could not connect to a Voicebox server within 2 minutes" The --parent-pid check either has a very long polling interval or doesn't work reliably Expected Behavior voicebox-server should detect the parent process exit promptly and terminate Reopening VoiceBox should work without manual intervention (killing the orphaned server process) Additional Context This is reproducible on macOS Apple Silicon (M1 Max) The server process appears to be a Python/PyInstaller bundle The loading_model hang may be related to high CPU contention from other apps (e.g., Final Cut Pro using 130% CPU), causing the model load to stall or fail silently
Source: jamiepine/voicebox